С точки зрения ООП существует ли разница между производным классом и унаследованным классом? Или это просто терминология?OOP Разница между производным классом и унаследованным классом?
ответ
При использовании наследования унаследованный класс называется базовым классом, а наследующий класс называется производным классом .
Полностью изменить текст вашего ответа на зеркальный ответ другого пользователя здесь не считается хорошей формой. – 2010-01-16 11:23:01
@Neil: Напротив. Редактирование вашего ответа, чтобы сделать его наилучшим возможным ответом, - это то, о чем идет речь. Конечно, плагиат не очень приятный, но я считаю, что редактирование улучшилось на основе вашего ответа, а не вопиющей копии, тем более, что ваш ответ был специфичным для C++ (не нужно было его настраивать, но вы это сделали.) –
@Vinko Необходимо было сделать это конкретным - разные языки используют разные номенклатуры. Например, программист Smalltalk будет говорить о суперклассе и подклассе, а не о базовом и производном. – 2010-01-16 11:35:41
Термин производный класс является предпочтительным, C++ просторечии для класса, который наследует от другого класса, который в C++ просторечии называется базовый класс. Поэтому в C++ термины, о которых вы спрашиваете, идентичны.
Ответ Нила немного смутил меня, поэтому я проверил несколько public sources.
Рассмотрим базового класса и подклассов (SubClass extends BaseClass
в терминологии Java), чем
- Sub Class происходит базового класса (Sub Class является производный класс из Базовый класс) и
- Подкласс наследуется от Базовый класс (базовый класс а/унаследовал класс Суб класса)
Поэтому, на мой взгляд, оба термина определяют те же самые отношения между классам, но с разных точек зрения.
Термин подкласс обычно не используется в C++ - я не знаю о Java - и ОП не спрашивал об этом. – 2010-01-16 11:32:20
Но он не просил C++ ни ... –
терминология Наследование Бертрана Мейера (Object-Oriented Software Строительство, p.464):
Основные конвенции и терминология
Приведенные ниже термины будут полезны в дополнение к «Наследник» и "родительский".
потомок из класса C является любой класс, который наследует прямо или косвенно из С, в том числе C самой. (Формально: либо С или рекурсивно, потомок наследника С.) предком из C класс таким образом, что С является потомком ,
В литературе вы также столкнуться терминами «подкласс» и «суперкласс», но мы держаться подальше от них, потому что они неоднозначны; иногда «подкласс» означает наследник (непосредственный потомок), иногда он используется в более общем смысле слова потомок, и не всегда ясно, какой. Кроме того, мы увидим, что термин «подмножество» не всегда оправдан.
может быть интересно, если вы переопределить метод, в Delphi вы пишете:
inherited; // so "inherited" is the base class
вместо
base.BaseImplementation(); // C#
- 1. Последовательность вызовов конструкторов между производным классом и базовым классом
- 2. Разница между классом Pattern и классом Matcher
- 3. Разница между основным классом и классом контроллера?
- 4. Разница между классом APIView и классом viewsets?
- 5. Разница между классом A и классом Class1
- 6. Разница между классом singleton и статическим классом?
- 7. Разница между новым классом() {...} и новым классом {...}
- 8. Разница между окончательным классом и статическим классом
- 9. Разница между классом и классом <?>
- 10. Разница между «общественным» классом и немодифицированным классом?
- 11. Разница между классом foo, классом foo() и классом foo (object)?
- 12. проблемы с унаследованным классом
- 13. Разница между классом верхнего класса и унаследованным классом при назначении того же класса
- 14. Разница между классом и модулем
- 15. разница между интерфейсом и классом
- 16. Разница между классом и пакетом
- 17. Разница между :: классом и get_class
- 18. Разница между идентификатором и классом
- 19. Разница между классом и типом
- 20. разница между объектом и классом
- 21. Разница между этим и классом
- 22. Java NoClassDefFoundError с унаследованным классом
- 23. элемент данных наследования между базовым и производным классом C++
- 24. Ошибка связи с унаследованным классом
- 25. Разница между интерфейсом, абстрактным классом, закрытым классом, статическим классом и частичным классом в C#?
- 26. В чем разница между классом и классом класса Scala?
- 27. Есть ли разница между публичным вложенным классом и обычным классом?
- 28. Есть ли разница между автономным классом и классом pojo?
- 29. Разница между нормальным классом и классом MVC в C#
- 30. понимание mvc: разница между классом библиотеки и классом модели
точная копия вашего предыдущего вопроса. –
@ David - спасибо Хорошо, я удалил другой вопрос, должен был отправить дважды .... –