多态:父类的引用可以指向子类的对象。

class Animal { }
class Dog : Animal { }
class Hashiqi : Dog { }public class Program
{public static void Main(string[] args){//向上转型:子类类型转换为父类类型,隐式转换,一定会成功。即狗是动物。Dog d = new Dog();Animal a = d;//也可以这样写:Animal b = new Dog();//向下转型:由父类类型转换成子类类型。转型的过程可能会出错,所以需要额外的操作,强制类型转换。//转型方式1:引用类型转换不推荐Dog c = (Dog)new Animal();//转型方式2:as 转换,推荐使用Dog ferror = new Animal() as Dog;//如果向下转型成功,打印出对象类型名称,如果失败,打印出得到null,证明ferror转型失败Console.WriteLine(ferror==null);//转型成功的例子,打印出DogDog gright = b as Dog;Console.WriteLine(gright);}
}