Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2 часть ответов.docx
Скачиваний:
8
Добавлен:
01.04.2025
Размер:
1.11 Mб
Скачать

4. Моделирование атрибутов и значений, операций и методов.

5. Концепция связи и ассоциации. Кратность и имена полюсов, упорядочение.

Концепции связей и ассоциации.

Связи и ассоциации позволяют устанавливать отношения между объектами и классами

Связь – это физическое или концептуальное соединение между объектами.

Связь это экземпляр ассоциации.

Ассоциация – это описание группы связей, обладающих общей структурой и общей семантикой.

Связи, являющиеся экземплярами ассоциаций, соединяют объекты тех классов, которые соединены между собой этой ассоциацией.

Ассоциация описывает множество потенциальных связей точно так же как класс описывает множество объектов.

Связи и ассоциации обычно присутствуют в постановке задачи в виде глаголов.

6. Концепция связи и ассоциации. Мультимножества и последовательности. Класс ассоциации.

Концепции связей и ассоциации.

Связи и ассоциации позволяют устанавливать отношения между объектами и классами

Связь – это физическое или концептуальное соединение между объектами.

Связь это экземпляр ассоциации.

Ассоциация – это описание группы связей, обладающих общей структурой и общей семантикой.

Связи, являющиеся экземплярами ассоциаций, соединяют объекты тех классов, которые соединены между собой этой ассоциацией.

Ассоциация описывает множество потенциальных связей точно так же как класс описывает множество объектов.

Связи и ассоциации обычно присутствуют в постановке задачи в виде глаголов.

7. Обобщение и наследование. Цели применения. Подмена составляющих.

8. Перечисление. Доступ к членам класса (видимость). (методичка лабораторной работы №2)

Перечисление

Перечисление (enumeration) – это тип данных, имеющий конечное множество значений. Например,

атрибут accessPermission (разрешение доступа) представляет собой перечисление с возможными

значениями read (чтение) и read-write (чтение и запись). На рисунке 2 показаны примеры перечислений.

Figure.ре nТуре (тип кисти) – перечисление, включающее возможные значения solid (сплошная), dashed

(штриховая) и dotted (пунктирная). TwoDimensional.fillType (тип заливки) – перечисление, включающее

возможные значения solid (сплошная), gray (полутон), none (нет), horizontal lines (горизонтальные линии) и

vertical lines (вертикальные линии), grade (градиент).

При конструировании моделей перечисления следует обязательно выделять, потому что они

встречаются достаточно часто и важны для пользователей. Перечисления важны и для реализации. Все

возможные значения перечисления можно указать в списке для выбора. Необходимо также ограничить

возможные данные разрешенными значениями.

Не следует использовать обобщение для указания значений перечислимого атрибута. Перечисление –

это просто список значений , а обобщение предназначено для упорядочивания описания объектов.

Обобщение следует использовать только там, где по крайней мере один из подклассов обладает

атрибутами, операциями или ассоциациями, неприменимыми к суперклассу. Как показано на рис. 3, не

следует строить обобщение класса Card, потому что в большинстве игр карты разных мастей ведут себя

одинаково.

В языке UML перечисление является типом данных. Для объявления перечисления необходимо

указать ключевое слово enumeration в угловых кавычках («») над именем перечисления в верхнем разделе

прямоугольника. Во втором разделе перечисляются значения перечисления (рис. 3).

Кратность

Кратность – это ограничение на количество возможных значений в наборе. Ранее мы рассмотрели

применение кратности к ассоциациям. Кратность применима и к атрибутам.

Указание кратности для атрибутов часто оказывается полезным, особенно в приложениях, связанных

с базами данных. Кратность атрибута определяет количество возможных значений в каждом экземпляре

атрибута. Наиболее типичные значения кратности: [1] – обязательное единственное значение, [0..1] – не-

обязательное единственное значение, [*] – произвольное количество значений. Кратность определяет,

является ли атрибут обязательным (в терминах баз данных – может ли атрибут иметь пустое значение). Она

также указывает, является атрибут единственным значением, или он может представлять собой совокуп-

ность значений. Если кратность не указана, предполагается, что она равна [1] (обязательное единственное

значение). Например, человек должен иметь одно имя, один или несколько адресов, одну дату рождения иВидимость

Видимость (visibility) характеризует способность метода ссылаться на составляющую другого класса

и может принимать значения public (открытая), pro tected (защищенная), private (закрытая) и package

(пакетная). Конкретная интерпретация этих значений зависит от языка программирования. Любой метод

может свободно обращаться к открытым составляющим (public ) (иными словами, любые методы любах

классов, могут обращаться к открытым составляющим). К защищенным составляющим (protected ) могут

обращаться методы только класса-владельца и всех его потомков (то есть составляющая доступна классам

в рамках иерархии наследования). К закрытым составляющим (private ) могут обращаться только методы языке UML видимость обозначается при помощи префикса. Символ + ставится перед открытыми

составляющими. Символ # ставится перед защищенными составляющими. Символ - ставится перед

закрытыми составляющими. Символ ~ ставится перед составляющими, доступными в рамках пакета.

Отсутствие префикса не позволяет делать никаких заключений о видимости.

При выборе значения видимости для какой-либо составляющей следует учитывать следующие

соображения.

Понятность модели . Чтобы получить представление о возможностях класса, необходимо понять все

его открытые составляющие. Закрытые, защищенные и пакетные составляющие можно игнорировать: они

вводятся лишь для удобства реализации.

Расширяемость . Открытые методы класса могут использоваться множеством других классов,

поэтому изменение их сигнатуры (количества и типа аргументов, типа возвращаемого значения) может

разрушить согласованность всей модели. Поскольку защищенные, закрытые и пакетные методы заведомо

используются меньшим числом классов, их изменения обходятся дешевле.

Контекст . Закрытые, защищенные и пакетные методы могут зависеть от предусловий или

информации о состоянии, произведенной другими методами того же класса. Вне своего контекста

закрытые методы могут возвратить неверные результаты или привести к отказу объекта в целом.

9. N-арные ассоциации. (методичка лабораторной работы №2)

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