Объектно-ориентированное проектирование с примерами




Существенное: классы и отношения между ними - часть 4


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

    1 - В точности одна связь

    N - Неограниченное число (0 или больше)

    0..N - Ноль или больше

    1..N - Одна или больше

     

    Рис. 5-3. Значок абстрактного класса.

    Рис. 5-4. Значки отношений между классами.

    0..1 - Ноль или одна

    3..7 - Указанный интервал

    1..3, 7 - Указанный интервал или точное число

    Обозначение мощности пишется у конца линии ассоциации и означает число связей между каждым экземпляром класса в начале линии с экземплярами класса в ее конце. Если мощность явно не указана, то подразумевается, что она не определена.

    Обозначения оставшихся трех типов связи уточняют рисунок ассоциации дополнительными пометками. Это удобно, так как в процессе разработки проекта связи имеют тенденцию уточняться. Сначала мы заявляем о семантической связи между двумя классами, а потом, после принятия тактических решений об истинных их отношениях, уточняем эту связь как наследование, агрегацию или использование.

    Значок наследования, представляющего отношение "общее/частное", выглядит как значок ассоциации со стрелкой, которая указывает от подкласса к суперклассу. В соответствии с правилами выбранного языка реализации, подкласс наследует структуру и поведение своего суперкласса. Класс может иметь один (одиночное наследование), или несколько (множественное наследование) суперклассов. Конфликты имен между суперклассами разрешаются в соответствии с правилами выбранного языка. Как правило, циклы в наследовании запрещаются. К наследованию значок мощности не приписывается.

    Значок агрегации обозначает отношение "целое/часть" (связь "has") и получается из значка ассоциации добавлением закрашенного кружка на конце, обозначающем агрегат. Экземпляры класса на другом конце стрелки будут в каком-то смысле частями экземпляров класса-агрегата. Разрешается рефлексивная и циклическая агрегация. Агрегация не требует обязательного физического включения части в целое.




    Содержание  Назад  Вперед