继承,重写,隐藏
class Animal{
    public intAge{get;set;}
    public virtual void Bite(){}
}
class Dog:Animal{
    public override void Bite(){
        Console.WriteLine(Age);        
    }
}

父类方法声明为virtual,说明在子类中可以override重写此方法,若没有声明virtual,可以在方法中+new隐藏父方法

继承中实例化先调用父类构造函数再去调用子类的构造函数

当父类构造函数含有多个时,一般只调用默认的构造函数,可以在子类构造函数中指定父类构造函数:base()。也可以引用自身的:this()


Animal dog=new Dog();

用父类来引用子类的实例,调用重写方法是为子类的方法,因为它已经覆盖了父类的方法。当调用的是为new的隐藏父类方法时,因为引用为父类,所以调用的是父类方法,可以通过强制转化为Dog来调用子类的new隐藏了的父类方法。


首页 我的博客
粤ICP备17103704号