Читайте также:
|
|
В результате объектной декомпозиции второго и более уровней могут быть получены объекты, находящиеся между собой в отношении включения (лекция № 2). Классы для реализации таких объектов могут строиться двумя способами: с использованием наследования или композиции.
Применение наследования эффективно в том случае, если разрабатываемый класс имеет с исходным сходную структуру и элементы поведения, например, «Окно» и «Окно_меняющее_цвет».
В тех случаях, когда сходное поведения не просматривается или наследование по каким-либо причинам нецелесообразно, можно использовать композицию классов.
Композицией называется такое отношение между классами, когда один является частью второго. Конкретно, композиция реализуется включением в класс поля, являющегося объектом другого класса. Такие поля обычно называют объектными полями.
Пример
Композиция (класс «Сообщение»). Визуально сообщение обычно выглядит, как окно с текстом и кнопкой подтверждения (рис.).
При разработке класса «Сообщение» попытаемся использовать уже описанный класс «Окно_с_текстом». Окно сообщения без кнопки представляет собой объект класса «Окно_с_текстом». Кнопка также представляет собой «Окно_с_текстом». Попытка использования при разработке множественного наследования приведет к дублированию полей. Чтобы этого избежать, используем для хранения параметров изображения кнопки поле типа «Окно_с_текстом».
Класс «Сообщение» – родитель: класс «Окно_с_текстом:
Дата добавления: 2015-09-06; просмотров: 132 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Конец описания. | | | Наполнение при разработке классов |