Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник ТРПП.doc
Скачиваний:
46
Добавлен:
23.04.2019
Размер:
7.83 Mб
Скачать

2.Агрегация

Связи обозначают равноправные (клиент-серверные) отношения между объектами Агрегация обозначает отношения объектов в иерархии «целое/часть». Агрегация обес­печивает возможность перемещения от целого (агрегата) к его частям (свойствам).

Агрегация может обозначать, а может и не обозначать физическое включение час­ти в целое. На рис.6 приведен пример физического включения (композиции) частей (Двигателя, Сидений, Колес) в агрегат Автомобиль. В этом случае говорят, что части включены в агрегат по величине.

На рис.7 приведен пример нефизического включения частей (Студента, Препо­давателя) в агрегат Колледж. Очевидно, что Студент и Преподаватель являются эле­ментами Вуза, но они не входят в него физически. В этом случае говорят, что части включены в агрегат по ссылке.

Целое

Автомобиль

Корпус

Двигатель

Сиденья

Колеса


часть часть часть

Рис.6. Физическое включение частей в агрегат

Рис.7. Нефизическое включение частей в агрегат

Итак, между объектами существуют два вида отношений — связи и агрегация. Ка­кое из них выбрать? При выборе вида отношения должны учитываться следующие факторы:

  • связи обеспечивают низкое сцепление между объектами;

  • агрегация инкапсулирует части как секреты целого.

3. Классы

3.1 Понятие, характеристика

Понятия объекта и класса тесно связаны. Тем не менее, существует важное разли­чие между этими понятиями. Класс — это абстракция существенных характерис­тик объекта. Класс — описание множества объектов, которые разделяют одинаковые свойства, опе­рации, отношения и семантику (смысл). Любой объект — просто экземпляр класса. Как показано на рис. 8, различают

  • внутреннее представление класса (реализа­цию)

  • внешнее представление класса (интерфейс).

Интерфейс объявляет возможности (услуги) класса, но скрывает его структуру и поведение. Иными словами, интерфейс демонстрирует внешнему миру абстрак­цию класса, его внешний облик. Интерфейс в основном состоит из объявлений всех операций, применимых к экземплярам класса. Он может также включать объявления типов, переменных, констант и исключений, необходимых для полно­ты данной абстракции. КЛАСС

интерфейсные

Части

Публичная

Защищенная

Приватная

Реализация



Рис. 8. Структура представления класса

Интерфейс может быть разделен на 3 части:

  1. публичную (public), объявления которой доступны всем клиентам;

  2. защищенную (protected), объявления которой доступны только самому классу,его подклассам и друзьям;

  3. приватную (private), объявления которой доступны только самому классу и его друзьям.

Другом класса называют класс, который имеет доступ ко всем частям этого класса (публичной, защищенной и приватной). Иными словами, от друга у класса нет секретов. Другом класса может быть и свободная подпрограмма.

Реализация класса описывает секреты поведения класса. Она включает реализа­ции всех операций, определенных в интерфейсе класса.