C# 继承


继承(派生类和基类)

在 C# 中,可以将字段和方法从一个类继承到另一个类。我们将 "inheritance concept" 分为两类:

  • 派生类(child) - 从另一个类继承的类
  • 基类(parent) - 继承自的类

要从类继承,请使用:象征。

在下面的示例中,Car类(子类)继承了该类的字段和方法Vehicle类(父级):

示例

class Vehicle  // base class (parent) 
{
  public string brand = "Ford";  // Vehicle field
  public void honk()             // Vehicle method 
  {                    
    Console.WriteLine("Tuut, tuut!");
  }
}

class Car : Vehicle  // derived class (child)
{
  public string modelName = "Mustang";  // Car field
}

class Program
{
  static void Main(string[] args)
  {
    // Create a myCar object
    Car myCar = new Car();

    // Call the honk() method (From the Vehicle class) on the myCar object
    myCar.honk();

    // Display the value of the brand field (from the Vehicle class) and the value of the modelName from the Car class
    Console.WriteLine(myCar.brand + " " + myCar.modelName);
  }
}

运行示例 »

为什么以及何时使用"Inheritance"?

- 它对于代码可重用性很有用:创建新类时重用现有类的字段和方法。

提示:还请看下一章,多态性,它使用继承的方法来执行不同的任务。


密封的关键字

如果您不希望其他类继承某个类,请使用sealed关键字:

如果您尝试访问sealed类,C#会产生错误:

sealed class Vehicle 
{
  ...
}

class Car : Vehicle 
{
  ...
}

错误消息将是这样的:

'Car': cannot derive from sealed type 'Vehicle'