OOP派生类和继承类之间的区别?

时间:2010-01-16 11:07:47

标签: oop inheritance terminology class-hierarchy

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

5 个答案:

答案 0 :(得分:14)

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

答案 1 :(得分:5)

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

答案 2 :(得分:2)

Neil的回答让我感到困惑,所以我检查了一些public sources

考虑基类子类(Java术语中的SubClass extends BaseClass),而不是

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

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

答案 3 :(得分:0)

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

基本惯例和术语

除“继承人”和“父母”之外,以下条款将非常有用。

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

在文献中,您还会遇到术语“子类”和“超类”,但是 我们会远离他们,因为他们含糊不清;有时“子类”的意思是 继承人(直系后代),有时它用于更一般的正确意义上 后代,并不总是清楚哪个。另外,我们会看到“子集” 这个词的内涵并不总是合理的。

答案 4 :(得分:0)

也许很有意思,如果你覆盖一个方法,在Delphi中写一下:

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

而不是

base.BaseImplementation(); // C#