Оглавление:
10. Наследование и подтипизация классов. Определение иерархии классов. Определение базового класса. Определение производных классов. Конструирование базового и производного классов.
10. Наследование и подтипизация классов. Определение иерархии. Определение базового. Определение производных классов. Конструирование базового и производного.
Под наследованием понимают возможность объявления производных типов на основе ранее объявленных типов. Вместо того чтобы заново реализовывать общие свойства, наследует данные-члены и функции-члены родительского.
D — Rails Туториал
Мы закончим наше обсуждение демонстрационного приложения кратким описанием иерархии контроллеров и моделей в Rails. Это обсуждение будет иметь много смысла, только если у вас был некоторый опыт объектно-ориентированного программирования (ООП); если вы не изучали ООП, не стесняйтесь пропустить этот раздел. В частности, если вы не знакомы с классами (обсуждаемыми в Разделе 4.4), я предлагаю вернуться к этому разделу позже.
Иерархия наследования
В прошлой главе говорилось о преобразованиях объектов простых типов. Однако с объектами все происходит немного по-другому. Допустим, у нас есть следующая иерархия:
В этой иерархии можно проследить следующую цепь наследования: Object (все неявно наследуются от типа Object) -> Person -> Employee|Client.
Здесь вначале создаются две переменные типов Оbject и Person.
Типы сущностей и иерархия наследования.
Связь является логическим соотношением между сущностями. Каждая связь должна именоваться глаголом или глагольной фразой. Имя связи выражает некоторое ограничение или бизнес-правило и облегчает чтение диаграммы. По умолчанию имя связи на диаграмме не показывается. На логическом уровне можно установить идентифицирующую связь «один-ко-многим», связь «многие-ко-многим» и неидентифицирующую связь «один-ко-многим».
Урок 27. Множественное наследование
Из урока 26 вы узнали, что можно построить один из другого, наследуя его характеристики. Оказывается, C++ позволяет порождать из нескольких базовых классов. Когда ваш наследует характеристики нескольких классов, вы используете множественное наследование. Как вы узнаете из данного урока, C++ полностью поддерживает множественное наследование. К концу этого урока вы изучите следующие основные концепции:
Множественное наследование является мощным инструментом объектно-ориентированного программирования.