2012-01-17 13 views
0

子クラスを持ち、親クラスを持たないOOPのクラスの「正式な」名前は何ですか?子クラスを持ち、親クラスを持たないOOPのクラスの名前?

「基本クラス」または「ルートクラス」などですか?

http://en.wikipedia.org/wiki/Base_classによれば、「基本クラス」は、他のクラスが由来するクラスである。しかし、OOPの基本クラスが親クラスを持つことができるかどうかは不明です。

+2

ほとんどの言語では、すべてのクラスがシステム提供の基底クラスを継承するため、このようなことはできません。 – Thilo

答えて

1

通常、「ルートクラス」またはより正確には「クラス階層のルート」と呼ばれます。

ほとんどすべてのオブジェクト指向言語では、そのようなクラスは1つだけです。 Rubyでは、SimpleObjectです。 Javaでは、オブジェクト。言語に複数の親のないクラスが許可されている場合、つまり暗黙的な「オブジェクト」の親クラスがない場合は、「ルート」という用語を使用することを躊躇します。

1

"基本クラス"には、定義上、親クラスがありません。それは他のすべてのクラスのスーパークラスです。

たとえば、JavaではObjectクラスが基本クラスです。

[編集]このように質問には明確な合意がないように見えます。だから私はあなたの質問、または複数のものには答えがないと思います。それは純粋に修辞的だったのでしょうか、あるいはあなたはより正確な質問を念頭に置いていましたか?

+0

したがって、クラスCがクラスBを拡張し、クラスBがクラスAから拡張する場合、クラスBはクラスCの基本クラスではありませんか?そうでない場合は、どのクラスBが呼び出されますか?ウィキペディアのリンクは、「親」と「ベース」を同じ意味で使用しているようです。 – archmeta

+0

私の場合、あなたの例では、Bは基本クラスではなく、Cのスーパークラス(または親クラス)です。私はここでウィキペディアに完全に同意していませんが、私はそれがまだ完全な合意がないこれらのトピックの1つだと考えています。 –

+0

root-branch-leafのようなものはどうですか?このコンベンションは、oracle(http://download.oracle.com/otn_hosted_doc/jdeveloper/1012/tl_mappings/dscriptr36.html)によって使用されているようです。 – archmeta

2

私は特定の "公式"名前は認識していません。 MSDN page for System.Objectは単に状態:

は、.NET Frameworkクラス階層のすべてのクラスをサポートし、 は、派生クラスに低レベルのサービスを提供しています。これは、.NET Frameworkのすべてのクラスの究極の 基本クラスです。タイプ階層の のルートです。

関連する問題