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(); } } }
时间: 2024-10-17 07:53:04