using System; using System.Collections.Generic; using System.Linq; using System.Text; /* 定义类的时候不指定父类,则父类是Object类,Object类是任何类的直接或者间接父类 * */ namespace _10继承 { class Program { static void Main(string[] args) { China c = new China(); c.Age = 22; c.Name = "向工"; c.SayHello(); c.户口 = "四川"; c.功夫(); 韩国人 k = new 韩国人(); k.Age = 33; k.Name = "金日成"; k.SayHello(); k.身高 = 166; k.做泡菜(); Person p1 = c; //人类等于中国人类,是可以的 p1.SayHello(); Person p2 = k; //人类等于韩国人类,是可以的 k.SayHello(); //韩国人 k1 = p2; //不行的,韩国人不给一个人 //我要一个韩国人,给了我一个Person类型的变量,我一看p1是Person类型,我就报错了,给我要不是中国人咋办 //China zgr = (China)p2; //要一个中国人,我把一个人类转换后给它 //这种转换只能交给程序员来弄定,但上面的类型不同所以提示错误 China zgr = (China)p1; zgr.SayHello(); Console.ReadKey(); } } class Person { public int Age { set; get; } public string Name { set; get; } public void SayHello() { Console.WriteLine("我的名字叫{0}",this.Name); } } class China : Person { public string 户口 { set; get; } public void 功夫() { Console.WriteLine("我打打打!"); } } class 韩国人 : Person { public int 身高 { set;get; } public void 做泡菜() { Console.WriteLine("我做做做泡菜!!"); } } }