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
{
}
}