类的继承

类的继承(Inheritance)

继承是面向对象三大特性之一,子类复用和扩展父类的成员,形成 is-a 关系。

基本语法

public class Animal
{
    public string Name { get; set; }
    public virtual void Speak() { Console.WriteLine("..."); }
}

public class Dog : Animal   // 继承
{
    public override void Speak() { Console.WriteLine("Woof"); }
    public void Fetch() { }  // 子类新增
}

关键字

  • virtual:父类方法可被重写
  • override:子类重写虚方法
  • abstract:抽象成员,必须重写(见 抽象类和接口
  • sealed:禁止继承/重写
  • base:调用父类成员
  • protected:子类可见、外部不可见

构造链

public Dog() : base() { }  // 子类构造默认调用父类无参构造

多态

Animal a = new Dog();
a.Speak();   // 输出 Woof(运行时根据实际类型调用)

“您的支持是我持续分享的动力”

微信收款码
微信
支付宝收款码
支付宝

目录