Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LAB_4_UML_СВЯЗИ.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
201 Кб
Скачать
☆

9. Изучение наследования

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

В модели игры в баскетбол из л/р N 1, "Использование концепций объектно-ориентированного проектирования", содержатся классы Игрок, Защитник, Нападающий и Центровой. Атрибутами класса Игрок являются имя, рост, вес, стартоваяСкорость и высотаВертикальногоПрыжка. Этот класс имеет операции вестиМячО, передавать Мяч (), отбиратьМяч (), бросатьМяч (). Классы Защитник, Нападающий и Центровой на­следуют эти атрибуты и операции, кроме того у них имеются некоторые собственные. Класс Защитник должен включать операции начинатьАтаку (), перехватыватьВерхние Мячи (). Класс Центровой должен содержать операцию забиватьМячВКорзину (). Основы­ваясь на информации тренера об относительном росте, аналитик может наложить ограниче­ния на рост человека, выполняющего определенную роль в команде.

Аналитик может также заметить, что несколько классов имеют некоторое количество общих атрибутов и операций. В модели баскетбола используется класс ВремяИгры, пока­зывающий сколько времени осталось до конца периода, и класс ВремяАтаки, отвечающий за определение времени с момента овладения команды мячом. Учитывая показания обоих временнь« счетчиков, аналитик может определить класс Время с операцией отслеживатьВремя (), а классы ВремяИгры и ВремяАтаки будут наследоваться от него.

Поскольку класс ВремяАтаки отслеживает 24 секунды (в профессиональ­ном баскетболе) или 35 секунд (в любительском), а ВремяИгры отслеживает 12 минут и 20 минут соответственно, то операция отслеживатьВремя () обладает свойством полиморфизма.

10. Абстрактные классы

В модели баскетбола два класса — Игрок и Время — очень полезны, поскольку слу­жат в качестве родительских для важных дочерних классов. Важность дочерних классов состоит в том, что в системе непременно появятся их экземпляры: при реализации мо­дели понадобятся экземпляры классов Защитник, Нападающий, Центровой, ВремяИгры, ВремяАтаки. Классы Игрок и Время не предоставляют никаких экземпляров в модели. Объекты класса Игрок не служат какой-либо цели, так же как и объекты класса Время.

Классы, подобные классам Игрок и время, называются абстрактными. Их имена выделяются курсивом. На рис. 14 изображены два абстракт­ных класса и их дочерние классы.

Рис.14. Две иерархии наследования с абстрактными классами в модели баскетбола

11. Зависимости

Другой тип взаимосвязи характеризуется тем, что один класс использу­ет другой. Это называется зависимостью. Наиболее общим случаем за­висимости является использование одного класса в сигнатуре операции другого класса.

Предположим, нужно спроектировать систему, отображающую на экране монитора формы, заполняемые служащими. Для выбора заполняемой формы используется меню. В системе будет два класса: Система и Форма. В числе операции класса Система имеется операция отобразитьФорму (f: Форма). Отображаемая системой форма, вероятно, зависит от того, какой экземпляр класса Форма выбрал пользователь. В UML это отношение изо­бражается пунктирной линией, направленной от зависимого класса (рис. 15).

Рис. 15. Зависимость изображается пунктирной линией со стрелкой

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]