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 BaseClassJava用語では)を考えてみてください。

  • サブクラスは基本クラスを派生し(サブクラスは基本クラスの派生クラスです)、
  • サブクラスベースクラスから継承します(ベースクラスはサブクラスの継承されたクラスです)

したがって、私の意見では、両方の用語は、クラス間の同じ関係を定義しますが、異なる観点から定義します。

于 2010-01-16T11:29:25.970 に答える
0

Bertran Meyerによる継承用語(オブジェクト指向ソフトウェア構築、p.464):

基本的な規則と用語

「相続人」と「親」に加えて、次の用語が役立ちます。

クラスC子孫は、 C自体を含め、Cから直接または間接的に継承するクラスです 。(正式には:Cまたは再帰的にCの継承者の子孫です。)Cの祖先クラスAあり、CはAの子孫です。

文献では、「サブクラス」と「スーパークラス」という用語にも出くわしますが、あいまいなため、これらの用語は使用しません。「サブクラス」は相続人(直系の子孫)を意味する場合もあれば、より一般的な意味で適切な子孫として使用される場合もあり、どちらが常に明確であるとは限りません。さらに、この単語の「サブセット」の意味が必ずしも正当化されるとは限らないことがわかります。

于 2010-01-16T11:41:46.387 に答える
0

メソッドをオーバーライドする場合、Delphiで次のように記述します。

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

それ以外の

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