Отношения "быть частью" и "являться" Исследовать
поведение функции Математика Примеры решения задач Теперь
у нас появились две различные иерархии классов. Одну иерархию образует наследование
классов, другую — вложенность классов.
Определив, какие классы будут написаны в вашей программе, и сколько их будет,
подумайте, как спроектировать взаимодействие классов? Вырастить пышное генеалогическое
дерево классов-наследников или расписать матрешку вложенных классов? Maya 3D графика в кино и телевидении
Рекордный взрыв стал одной из кульминаций эпохи
холодной войны
Теория ООП советует прежде
всего выяснить, в каком отношении находятся ваши классы р и Q — в отношении "класс
Q является экземпляром класса р" ("a class Q is a class р") или
в отношении "класс Q — часть класса р" ("a class Q has a class
P").
Например:
"Собака является животным" или "Собака — часть животного"?
Ясно, что верно первое отношение "is-a", поэтому мы и определили класс
Dog как расширение класса Pet.
Отношение "is-a" — это отношение "обобщение-детализация",
отношение большей или меньшей абстракции, и ему соответствует наследование классов.
Отношение "has-a"
— это отношение "целое-часть", ему соответствует вложение.