Logo
Section 1 / 10

什么是继承?

在本课程中,你将学习继承(Inheritance),这是面向对象编程中的一个强大概念。

导入

什么是继承?

在本课程中,你将学习继承(Inheritance),这是面向对象编程中的一个强大概念。

现在你已经熟悉了 对象 和 类 的概念,让我们来讨论另一个面向对象编程中的关键概念:继承。

定义

继承 提供了一种从现有类创建新类的方式。新类是现有类的特化版本,它继承了现有类的所有 非私有 字段(变量)和 方法。现有类用作创建新类的起点或 基类。

IS A 关系

阅读上述定义后,接下来的问题是:我们什么时候使用继承? 当我们发现类之间存在 IS A 关系时,就可以使用继承。

在上图中,我们可以看到三个类之间存在 IS A 关系。我们可以这样描述:

  • Square IS A shape
  • C# IS A programming language
  • Soda IS A beverage

根据上述关于 继承 的描述,我们可以得出结论:可以通过扩展 现有类 来构建新类。新类以特定方式扩展了现有类。例如,一种汽水 是 一种饮料,但在所有饮料的特性基础上,还增加了气泡。

让我们看看可以使用 Shape、ProgrammingLanguage 和 Beverages 类派生出的一些类:

现有类派生类
ShapeSquare, Circle, Triangle
Programming LanguageC#, Java, Python
BeverageSoda, Beer, Wine

让我们来看看 IS A 关系不存在的情况。

在上图中,显然无法使用 继承,因为这些对象之间不存在 IS A 关系。

C# 的 Object 类

让我们来看一个 .NET 框架中预实现的优秀继承示例。在使用 C# 编写 .NET 框架代码时,每当创建一个 class,它都会直接或间接地继承自内置的 C# 类 Object 的所有 非私有 方法 和 字段。Object 类中定义的方法在创建 新类 时非常有用。要了解有关 C# Object 类及其功能的更多信息,请访问 这里。


事情变得越来越有趣了!让我们进入下一课,在其中我们将讨论与继承相关的语法和术语。

数据隐藏

语法与术语