namespace 继承 //两个类之间的关系 { class Program { static void Main(string[] args) { dongwu gou = new dongwu(); gou.shengming(); gou.Name = "小狗"; Console.WriteLine(gou.Name); Object Odate = gou; shengwu fulei= gou; //子类可以直接转换为父类,但父类不具备子类的属性和方法 Console.WriteLine(fulei.Name); //父类转子类有条件,这个父类的对象必须是由某一个子类的对象转换而来,才能转换回去,fulei这个类是由子类gou转换而来的 dongwu mao = (dongwu)fulei; Console.WriteLine( mao.Name); zhiwu meigui = new zhiwu(); meigui.shengming(); meigui.Name = "玫瑰花"; Console.WriteLine(meigui.Name); 中国人 r = new 中国人(); r.Name = "李小龙"; Console.WriteLine(r.Name); r.wushu(); renlei a = r; //子类转父类 Console.WriteLine(a.Name); 中国人 r1 = (中国人)a; //父类转子类,父类的对象必须是由一个子类的对象转换而来的,a这个父类是由子类r转换而来的 Console.WriteLine(r1.Name ); Console.ReadLine(); } } public class shengwu { private string _Name; public string Name { get { return _Name; } set { _Name = value; } } protected string Old; public void shengming() { Console.WriteLine("都是有生命的"); } } class dongwu:shengwu { } class zhiwu : shengwu { } }