继承
定义类的时候不指定父类,则父类是Object类。Object类是任何类的直接或者间接父类。
class Program { static void Main(string[] args) { 中国人 c = new 中国人(); c.Name = "王小二"; c.Age = 15; c.功夫();//调用 中国人类 功夫 方法,输出结果是:打! c.户口 = "北京"; c.SayHello();//调用 中国人类 SayHello 方法,输出结果:王小二 韩国人 k = new 韩国人(); k.Name = "朴小姐"; k.Age = 25; k.吃饭 = "香"; k.饭量();//调用 韩国人类 饭量 方法,输出结果:饭量小 Person p = c;//可以将子类的值 赋值给 父类, 系统要一个人,给了一个中国人,可以的。 p.SayHello();//调用 中国人类 SayHello 方法,输出结果:王小二 // 中国人 c1 = p; //父类的值 无法赋值子类。 系统要一个 中国人,但是你给一个人,不行的。 中国人 C2 = (中国人)p;//可以强制转换,但是可能会报错,程序员要对 结果负责。 可以将一个人强制转换成 中国人。 Console.ReadKey(); } } //Object是所有类的基类。没有指定父类那么父类就是Object. class Person // 可以写成 class Person : Object 默认不显示 { public int Age { get; set; } public string Name { get; set; } public void SayHello() { Console.WriteLine("{0}",this.Name); } } class 中国人 : Person //继承,用:分割。中国人这个类可以继承Person 这个类的所有属性、方法。 { public string 户口 { set; get; } public void 功夫() { Console.WriteLine("打!"); } } class 韩国人 : Person { public string 吃饭 { set; get; } public void 饭量() { Console.WriteLine("饭量小"); } }
输出结果: