Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Композиция при разработке классов

Читайте также:
  1. Индикаторы классовой принадлежности и допустимая эксцентричность
  2. Исключения при разработке классов
  3. классов интегрированного (совместного) обучения и воспитания
  4. Наполнение при разработке классов
  5. Общие представления о ноцицептивной и антиноцицептивной системах. Понятие о ноцицепторах. Особенности специальных классов ноцицептторов (TRP, ASIC-каналы и др.).
  6. Объектная декомпозиция

В результате объектной декомпозиции второго и более уровней могут быть получены объекты, находящиеся между собой в отношении включения (лекция № 2). Классы для реализации таких объектов могут строиться двумя способами: с использованием наследования или композиции.

Применение наследования эффективно в том случае, если разрабатываемый класс имеет с исходным сходную структуру и элементы поведения, например, «Окно» и «Окно_меняющее_цвет».

В тех случаях, когда сходное поведения не просматривается или наследование по каким-либо причинам нецелесообразно, можно использовать композицию классов.

Композицией называется такое отношение между классами, когда один является частью второго. Конкретно, композиция реализуется включением в класс поля, являющегося объектом другого класса. Такие поля обычно назы­вают объектными полями.

Пример

Композиция (класс «Сообщение»). Визуально сообщение обычно выглядит, как окно с текстом и кнопкой подтверждения (рис.).

При разработке класса «Сообщение» попытаемся использовать уже описанный класс «Окно_с_текстом». Окно сообщения без кнопки представляет собой объект класса «Окно_с_текстом». Кнопка также представляет собой «Окно_с_текстом». Попытка использования при разработке множественного наследования приведет к дублированию полей. Чтобы этого избежать, используем для хранения параметров изображения кнопки поле типа «Окно_с_текстом».

Класс «Сообщение» – родитель: класс «Окно_с_текстом:


Дата добавления: 2015-09-06; просмотров: 132 | Нарушение авторских прав


Читайте в этой же книге: Объектная декомпозиция | Объекты и сообщения | Т: Классы | Конец описания. | Простой полиморфизм | Делегирование методов | Контейнерные классы | Цикл-пока <очередной элемент> определен | Исключения при разработке классов |
<== предыдущая страница | следующая страница ==>
Конец описания.| Наполнение при разработке классов

mybiblioteka.su - 2015-2024 год. (0.005 сек.)