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();
            }
        }
    }
  • 相关阅读:
    中国登山队员首次登上地球之巅珠穆朗玛峰的时间与意义及影响 (转)
    兰戈利尔人(斯蒂芬.金)
    冥界系列一:麝月 (作者:钱其强)
    席慕容独白
    【心理寓言】小偷在鸡舍偷了只鸡
    美国恐怖故事第一季事件时间表
    大学生逃课的暴笑理由
    原来他们四个也是有故事的男人
    爆笑:七八十年代各地最流行顺口溜 网友:太经典了
    中国的世界之最
  • 原文地址:https://www.cnblogs.com/w-wz/p/4526474.html
Copyright © 2011-2022 走看看