zoukankan      html  css  js  c++  java
  • 面向对象:父类子类 函数重载与复写

    using System;
    using System.Collections.Generic;
    using System.Text;
    
    namespace ConsoleApplication3
    {
        class shengwu
        {
            
            public void shengming()
            {
                Console.WriteLine("生物都有生命");
            }
            public virtual void huxi()
            {
                Console.WriteLine("生物都呼吸!");
            }
        }
    }
    using System;
    using System.Collections.Generic;
    using System.Text;
    
    namespace ConsoleApplication3
    {
        class shengwu
        {
            
            public void shengming()
            {
                Console.WriteLine("生物都有生命");
            }
            public virtual void huxi()
            {
                Console.WriteLine("生物都呼吸!");
            }
        }
    }
    using System;
    using System.Collections.Generic;
    using System.Text;
    
    namespace ConsoleApplication3
    {
        class dongwu:shengwu
        {
           
            public void shengming()
            {
                Console.WriteLine("动物都有生命!");
            }
            public override void huxi()
            {
                Console.WriteLine("动物都呼吸!");
            }
        }
    }
    using System;
    using System.Collections.Generic;
    using System.Text;
    
    namespace ConsoleApplication3
    {
        class Program
        {
            static void Main(string[] args)
            {
                shengwu sdata = new shengwu();
                sdata.shengming();//建的哪一个类就调用哪个类的方法,调用shengwu中的shengming()
    
                dongwu ddata = new dongwu();
                ddata.shengming();//同上
    
                shengwu zhdata = ddata;
                zhdata.shengming();//子类dongwu直接转化为父类shengwu后,调用父类shengwu的方法shengming()
    
                dongwu hydata = (dongwu)zhdata;
                hydata.shengming();//转化为父类的dongwu再转回子类dongwu后,调用子类dongwu的方法shengming()
    
    
    
                sdata.huxi();
                ddata.huxi();
                zhdata.huxi();//复写函数(复写前virtual,复写后override),子类转换为父类后调用的复写后(子类)的函数而不是父类的函数
                hydata.huxi();//转化为父类的dongwu再转回子类dongwu后,调用子类dongwu的方法shengming()
    
                Console.ReadLine();
            }
        }
    }
    using System;
    using System.Collections.Generic;
    using System.Text;
    
    namespace ConsoleApplication3
    {
        class Program
        {
            static void Main(string[] args)
            {
                shengwu sdata = new shengwu();
                sdata.shengming();//建的哪一个类就调用哪个类的方法,调用shengwu中的shengming()
    
                dongwu ddata = new dongwu();
                ddata.shengming();//同上
    
                shengwu zhdata = ddata;
                zhdata.shengming();//子类dongwu直接转化为父类shengwu后,调用父类shengwu的方法shengming()
    
                dongwu hydata = (dongwu)zhdata;
                hydata.shengming();//转化为父类的dongwu再转回子类dongwu后,调用子类dongwu的方法shengming()
    
    
    
                sdata.huxi();
                ddata.huxi();
                zhdata.huxi();//复写函数(复写前virtual,复写后override),子类转换为父类后调用的复写后(子类)的函数而不是父类的函数
                hydata.huxi();//转化为父类的dongwu再转回子类dongwu后,调用子类dongwu的方法shengming()
    
                Console.ReadLine();
            }
        }
    }
  • 相关阅读:
    Python随笔,day1
    利用php抓取蜘蛛爬虫痕迹的示例代码
    explain(执行计划)工具使用
    MyISAM和 InnoDB中索引的数据结构
    页面静态化技术(真静态和伪静态的实现)
    关于MySQL字符集和校对集问题
    客户端禁用cookie后session的解决方法
    解决Ajax中的缓存问题
    MySQL中列类型的选择需要注意的问题
    MySQL中索引的分类和基本操作
  • 原文地址:https://www.cnblogs.com/dlexia/p/4525797.html
Copyright © 2011-2022 走看看