Проектирование на UML. Сборник задач - страница 5
а. Используя наследование, добавьте в модель класс ArrayList, реализующий операции со списками с помощью массива.
б. Пусть интерфейс List содержит операцию get получения элемента списка по заданной позиции k. Укажите, в каких классах должна быть объявлена данная операция, чтобы модель была согласованной. Ответ поясните.
в. Пусть интерфейс Collection содержит операцию add добавления элемента obj. Укажите, в пространстве имен каких классов может присутствовать поведение, реализующее операцию add. Ответ поясните.
1.6. Класс Collections содержит общедоступную статическую операцию addAll с возвращаемым значением типа boolean. Первый параметр операции называется coll и имеет тип Collection, второй параметр называется elements и имеет тип Object и кратность больше нуля.
а. Добавьте в класс Collections статический атрибут empty типа Collection, предназначенный только для чтения.
б. Реализуйте в классе Collections операцию addAll с помощью нечеткого поведения (метода), используя операцию добавления элемента insert (e: Object) класса Collection. Указание. Алгоритм реализации можно показать как псевдокод в комментарии в формате {method = {
1.7. Узел дерева Node может иметь несколько дочерних child узлов того же класса Node.
а. Приведите пример бинарного дерева, состоящего из семи узлов Node.
б. Постройте модель дерева, в котором каждый узел имеет от двух до четырех дочерних узлов.
в. Разработайте модель дерева, узлы которого могут быть двух видов: узел Red и узел Black. Указание. Вид узла может изменяться, при этом следует считать, что поведение узла не изменяется при смене типа.
1.8. У абстрактного класса заказа Reservation имеется два потомка: одиночный Single и подписка Subscription. Single связан с одним билетом Ticket ассоциацией бронирован reserved, Ticket может быть связан той же ассоциацией не более чем с одним Single.
а. Свяжите подписку с билетами в количестве от трех до шести включительно. Билет не обязательно связан с подпиской.
б. Как с помощью ограничений указать, что билет не может быть одновременно связан и с подпиской, и с одиночным заказом?
в. Пусть одиночная подписка наследует свойства одиночного заказа и подписки. С каким максимальным количеством билетов она может быть связана? Ответ поясните.
1.9. Умный дачный домик SmartHouse состоит из четырех стен Wall и крыши Roof. Домик реагирует на штормовые предупреждения stormWarning и укрепляет крышу harden, закрывает окна closeWindows в стенах. Используемые стройматериалы Material характеризуются ценой price и удельным весом unitWeight.
а. Добавьте стройматериалы для постройки домика: красный и белый кирпич Brick, доски Plank из сосны и дуба.
б. Укажите, что кирпич является материалом material стен. Используя ассоциации, покажите, что каркас крыши Frame сделан из не более чем сорока досок и может быть одного из видов FrameKind: мансарда, плоский или треугольный.
в. Каркас можно покрыть стройматериалом черепица Tiling, отразите это в модели.
г. Допустим, изобретен универсальный стройматериал, заменяющий доски, кирпичи и черепицу. Постройте из него дачный домик. Сколько экземпляров материала понадобится? Ответ поясните.