C#关键字sealed修饰类初步学习
## 继承:构建 upon 现有代码
继承是面向对象编程的一个核心概念,它允许我们创建一个新的类(称为子类或派生类),该类基于一个现有的类(称为基类或父类)。这样,子类会继承基类的属性和方法,从而减少代码的重复,并提高代码的可重用性。
在 C# 中,我们使用 `:` 运算符来表示继承关系。例如:
在上面的例子中,我们定义了一个 `Animal` 类和一个 `Dog` 类,其中 `Dog` 类继承自 `Animal` 类。这样,`Dog` 类就会继承 `Animal` 类的 `Name` 属性和 `MakeSound` 方法。
## 多态性:实现接口和虚方法
多态性是面向对象编程的另一个核心概念,它允许我们使用一个接口或父类类型的引用来引用不同的子类对象。这样,我们就可以编写更加通用的代码,该代码可以接受不同的子类对象,并在运行时根据对象的实际类型来调用相应的方法。
在 C# 中,我们可以使用 `interface` 和 `virtual` 关键字来实现多态性。例如:
在上面的例子中,我们定义了一个 `IAnimal` 接口和一个 `Animal` 类,其中 `Animal` 类实现了 `IAnimal` 接口。然后,我们创建了一个 `Dog` 类,它继承自 `Animal` 类并实现了 `IAnimal` 接口。这样,`Dog` 对象就可以被当作 `IAnimal` 类型的对象来使用。
## `base` 关键字:调用基类的方法
现在,让我们回到本文的主题,即 `base` 关键字。在 C# 中,`base` 关键字用于访问继承的基类成员。当我们想要在派生类中调用基类的方法时,我们可以使用 `base` 关键字。例如:
在上面的例子中,我们定义了一个 `Animal` 类和一个 `Dog` 类,其中 `Dog` 类继承自 `Animal` 类。在 `Dog` 类的 `MakeSound` 方法中,我们使用 `base.MakeSound()` 来调用 `Animal` 类的 `MakeSound` 方法。这样,当我们调用 `Dog` 类的 `MakeSound` 方法时,它首先会调用 `Animal` 类的 `MakeSound` 方法,然后再调用自己的 `MakeSound` 方法。