继承
定义类的时候不指定父类,则父类是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("饭量小");
}
}输出结果:
