编程基础/继承和多态
外观
< 编程基础
在面向对象编程中,继承是基于另一个对象(原型继承)或类(基于类的继承)创建对象或类的机制,保留类似的实现。在大多数基于类的面向对象语言中,通过继承创建的对象(“子对象”)获得父对象(除了:基类的构造函数、析构函数、重载运算符和友元函数)的所有属性和行为。继承允许程序员创建建立在现有类基础上的类,以指定新的实现,同时保持相同的行为(实现接口),以重用代码并通过公共类和接口独立扩展原始软件。[1]
继承是一种从最通用到最具体地排列对象的方法。从另一个对象继承的对象被认为是该对象的子类型。一个例子可能包括教师和学生,它们都从人继承。当我们可以用是这个短语来描述两个对象之间的关系时,这种关系就是继承。
我们也经常说一个类是它继承的类的子类或子类,或者另一个类是它的超类或父类。我们可以将层次结构底部最通用的类称为基类。
继承可以帮助我们表示工作方式有一些差异和一些相似之处对象。我们可以将所有对象共有的功能放在基类中,然后定义一个或多个子类,这些子类具有自己的自定义功能。
继承也是一种轻松重用现有代码的方法。如果我们已经有一个几乎满足我们需求的类,我们可以创建一个子类,在其中部分覆盖它的一些行为,或者添加一些新功能。
在一些静态类型语言中,继承非常受欢迎,因为它允许程序员绕过静态类型的一些限制。如果教师和学生都是人,我们可以编写一个接受 Person 类型参数的函数,并让它在教师和学生对象上工作,因为它们都从 Person 继承。这被称为多态。
- 继承
- 一个对象或类基于另一个对象或类,使用相同的实现或指定新的实现来保持相同的行为。[2]
- 多态
- 为不同类型实体提供单一接口。[3]