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("我做做做泡菜!!");
}
}
}