|
||||||||
|
Программирование мобильных телефонов
Самоучитель по Java
|
Отношения "быть частью" и "являться" Теперь у нас появились две различные иерархии классов. Одну иерархию образует наследование классов, другую — вложенность классов. Определив, какие классы будут написаны в вашей программе, и сколько их будет, подумайте, как спроектировать взаимодействие классов? Вырастить пышное генеалогическое дерево классов-наследников или расписать матрешку вложенных классов? Теория ООП советует прежде всего выяснить, в каком отношении находятся ваши классы р и Q — в отношении "класс Q является экземпляром класса р" ("a class Q is a class р") или в отношении "класс Q — часть класса р" ("a class Q has a class P"). Например: "Собака является животным" или "Собака — часть животного"? Ясно, что верно первое отношение "is-a", поэтому мы и определили класс Dog как расширение класса Pet. Отношение "is-a" — это отношение "обобщение-детализация", отношение большей или меньшей абстракции, и ему соответствует наследование классов. Отношение "has-a" — это отношение "целое-часть", ему соответствует вложение.
|
|
||||||
|
Copyright vampire.com.ua © 2010
|
||||||||