//////////////////////////////////////////////////////////////////////////////////////
Chinese ch =new Chinese();
//隐式转换,把子类变量赋给父类变量
Person p = ch;
//显示转换,把父类变量值赋值给子类变量
Person p = new Chinese();
Chinese ch = (Chinese)p;
//如果对象不在同一个继承树路径上则不能强制类型转换
Dog g = new Dog();
Chinese ch =(Chinese)g;//错误
//is 运算
if(p is Chinese)
{
Console.WriteLIne("中国人“);
}
else if(p is Korean)
{
Console.WriteLine("韩国人");
}
///////////////////////////////////////////////////////////////////////////////////////////////////
//as运算符
Chinese ch = p as Chinese;
if(ch!=null)
{
Console.WriteLine("中国人");
}
Korean ch= p as Korean;
if(ch!=null)
{
Console.WriteLine("韩国人”);
}