zoukankan      html  css  js  c++  java
  • 汉企C#面向对象——继承Practice

     class Dianqi //创建电器类:父类
        {
            private string _Dianqimingzi;
    
            public string Dianqimingzi
            {
                get { return _Dianqimingzi; }
                set { _Dianqimingzi = value; }
            }
        }
      class Computer:Dianqi //创建电脑类:子类
        {
            private string _Diannaomingzi;
    
            public string Diannaomingzi
            {
                get { return _Diannaomingzi; }
                set { _Diannaomingzi = value; }
            }
        }
    class Lenovo:Computer  //创建Lenovo类:子类的子类
        {
            private string _Lname;
    
            public string Lname
            {
                get { return _Lname; }
                set { _Lname = value; }
            }
        }
    namespace 继承Practice
    {
        class Program
        {
            static void Main(string[] args)
            {   //电器:父类
                Dianqi dianqi1 = new Dianqi();
                dianqi1.Dianqimingzi = "电器";
                Console.WriteLine("电器的名字为"+dianqi1.Dianqimingzi);
                //电脑:子类
                Computer diannao = new Computer();
                diannao.Diannaomingzi = "电脑";
                Console.WriteLine("电脑的名字为"+diannao.Diannaomingzi);
                //继承了电器属性的电脑
                diannao.Dianqimingzi = "继承了电器属性的电脑(子类继承了父类的电器名字的属性)";
                Console.WriteLine("电脑子类继承电器父类后的属性为      "+diannao.Dianqimingzi);
    
                //Lenovo:子类的子类
                Lenovo le = new Lenovo();
                le.Lname = "联想电脑";
                Console.WriteLine("Lenovo电脑的名字为   "+le.Lname);
                
                //继承了电脑属性的Lenovo
                Lenovo le1 = new Lenovo();
                le1.Diannaomingzi = "联想电脑";
                le1.Dianqimingzi = "电器下的电脑为联想";
                Console.WriteLine("电脑属性的名字为   "+le1.Diannaomingzi);
                Console.WriteLine("电器属性的名字为   " + le1.Dianqimingzi);
    
    
                //子类转父类:子类继承父类,一个子类只能有一个父类,一个父类可以有多个子类。
                    //子类具备父类的功能和属性,父类不具备子类的。
                    //子类可以转化为父类,但父类不具备子类的属性和方法。
                    //比如 猪 可以叫生物, 但生物不可以叫猪。
                Computer Com = new Computer();//子类电脑
                Dianqi DCom = Com;//子类电脑转换为父类电器
                DCom.Dianqimingzi = "子类电脑转换为父类电器后的名字";
                Console.WriteLine(DCom.Dianqimingzi);
    
    
    
                //父类可以转换为子类,但是有前提条件。   前提:父类之前的本质为子类,才可以转换为对应的子类。
                Computer aaa = new Computer(); //创建一个子类aaa
                Dianqi ddd = aaa;//将子类aaa转换为父类ddd
                Computer xxx = (Computer)ddd; //将父类ddd转换为子类xxx
                xxx.Dianqimingzi = "父类转换为子类";
                Console.WriteLine(xxx.Dianqimingzi);
    
    
    
                //下面为不符合前提的情况,代码无错,运行会出错。
                //Dianqi ddd1 = new Dianqi();
                //Computer xxx1 = (Computer)ddd1;
                //xxx1.Dianqimingzi = "父类转换为子类(不符合前提的情况)";
                //Console.WriteLine(xxx1.Dianqimingzi);
                Console.ReadLine();
            }
        }
    }
  • 相关阅读:
    OSX安装nginx和rtmp模块(rtmp直播服务器搭建)
    用runtime来重写Coder和deCode方法 归档解档的时候使用
    Homebrew安装卸载
    Cannot create a new pixel buffer adaptor with an asset writer input that has already started writing'
    OSX下面用ffmpeg抓取桌面以及摄像头推流进行直播
    让nginx支持HLS
    iOS 字典转json字符串
    iOS 七牛多张图片上传
    iOS9UICollectionView自定义布局modifying attributes returned by UICollectionViewFlowLayout without copying them
    Xcode6 iOS7模拟器和Xcode7 iOS8模拟器离线下载
  • 原文地址:https://www.cnblogs.com/lk-kk/p/4525485.html
Copyright © 2011-2022 走看看