• 汉企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();
            }
        }
    }
  • 相关阅读:
    论分治与归并思想
    关于缩短cin时间的方法
    【lower_bound、upperbound讲解、二分查找、最长上升子序列(LIS)模版】
    getDomain(url)-我的JavaScript函数库-mazey.js
    jQuery-PHP跨域请求数据
    ASP-Server.Transfer-Response.Redirect
    jQuery获取相邻标签的值
    分界线<hr/>
    jQuery获取input复选框的值
    Bootstrap支持的JavaScript插件
  • 原文地址:https://www.cnblogs.com/lk-kk/p/4525485.html
Copyright © 2020-2023  润新知