Имя класса в ООП, у которого есть дочерние классы, но нет родительских классов? - PullRequest
0 голосов
/ 17 января 2012

Какое «официальное» имя класса в ООП, у которого есть дочерние классы, но нет родительских классов?

Это «базовый класс» или «корневой класс» или что-то еще?

Согласно http://en.wikipedia.org/wiki/Base_class - «базовый класс» - это класс, из которого были получены другие классы. Однако не ясно, может ли базовый класс в ООП иметь родительские классы.

Ответы [ 3 ]

2 голосов
/ 17 января 2012

Я не знаю ни одного конкретного "официального" имени. Страница MSDN для System.Object просто заявляет:

Поддерживает все классы в иерархии классов .NET Framework и предоставляет низкоуровневые услуги производным классам. Это в конечном итоге базовый класс всех классов в .NET Framework; это корень иерархия типов.

1 голос
/ 17 января 2012

Обычно его называют «корневым классом», или, точнее, «корнем иерархии классов».

Почти во всех языках ОО существует только один такой класс. В Ruby это SimpleObject; в Java, Object. Если бы язык допускал несколько классов без родителей, то есть не имел неявного родительского класса «Объект», я бы не стал использовать термин «корень».

1 голос
/ 17 января 2012

«Базовый класс» по определению не имеет родительского класса.Это суперкласс для всех других классов.

Например, в Java класс Object является базовым классом.

[Edit] Похоже, что естьтаким образом, нет определенного консенсуса по этому вопросу, и текущая редакция Википедии гласит, что «базовый класс» является просто еще одним синонимом «суперкласса».Поэтому я думаю, что нет ответа на ваш вопрос, или несколько.Было ли это чисто риторическим или у вас был более точный вопрос?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...