11

从 OOP 的角度来看,派生类和继承类之间有什么区别吗?还是只是术语?

4

5 回答 5

15

使用继承时,被继承的类称为基类,继承类称为派生类。

于 2010-01-16T11:10:17.693 回答
5

派生类一词是从另一个类继承的类的首选 C++ 用语,在 C++ 用语中称为基类。因此,在 C++ 中,您询问的术语是相同的。

于 2010-01-16T11:15:21.033 回答
2

尼尔的回答让我有点困惑,所以我查看了一些公共资源

考虑一个基类和一个子类SubClass extends BaseClass在 Java 术语中),而不是

  • 子类派生基类(子类是基类的派生)和
  • 子类继承自基(基类是子类的一个/继承的类)

因此,在我看来,这两个术语都定义了类之间的相同关系,但从不同的角度。

于 2010-01-16T11:29:25.970 回答
0

Bertran Meyer 的继承术语(面向对象的软件构建,第 464 页):

基本约定和术语

除了“继承人”和“父母”之外,以下术语也很有用。

C后代是直接或间接从C继承的任何类 ,包括C本身。(形式上:要么C,要么递归地, C 的继承人的后代。)C的祖先A类,使得CA后代。

在文献中你也会遇到“子类”和“超类”这两个词,但我们会远离它们,因为它们是模棱两可的;有时“子类”是指继承人(直系后裔),有时它用于更一般意义上的适当后裔,并不总是很清楚是哪个。此外,我们将看到这个词的“子集”内涵并不总是合理的。

于 2010-01-16T11:41:46.387 回答
0

也许很有趣,如果你重写一个方法,在 Delphi 中你写:

inherited; // so "inherited" is the base class

代替

base.BaseImplementation(); // C#
于 2010-01-16T11:45:07.863 回答