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();
            }
        }
    }
  • 相关阅读:
    计时器
    练习
    实现跨层组件通信(Vue3___defineComponent)
    微信内置浏览器h5监听手机返回键
    ECharts柱状图线形图
    easyui日期到月份
    uni-app传参
    js浏览器唯一标识
    知网论文查重如何查呢,免费的是真的吗?
    淘宝检测论文查重可靠吗?怎么检验?
  • 原文地址:https://www.cnblogs.com/w-wz/p/4526474.html
Copyright © 2011-2022 走看看