Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программная инженерия.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
938.2 Кб
Скачать

Операции и методы.

Операция – функция или процедура которая может быть применена к объектам классов.

File

+filemNane

+sizeinBytes

+lastupdate

+print()

GeometricObject

+color

+position

+move(delta: vector)

+select(p: point)

+rotate(in angle: float = 0.0)

Person

+name:string

+birthday: string

+change ob()

+changeAddress()

Все объекты одного класса имеют общий писок операций. Одна и та же операция может быть применена к разным классам. Такая операция называется полиморфной, т.е. в разных класса она может принимать разные формы.

Метод – это реализация операций в конкретном классе.

У операции могут быть аргументы которые в свою очередь могут быть как значениями, так и объектами. Если операция реализована несколькими методами в различных классах важно чтобы у всех методов была одинаковая сигнатура.

Сигнатура – число и тип аргументов, а так же тип возвращаемого методом значения.

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

Операция указывается в третьем отделе, название аналогично названию атрибута. После названия в скобочках могут быть указаны аргументы( названия, его тип, и значение по умолчанию) их направление( in – входной аргумент, out – выходной аргумент, in-out - входной-выходной аргумент) через двоеточие записывается тип возвращаемого значения. Отделы с аргументами и операциями являются не обязательными, отсутствие отделов говорит о том что на данной диаграмме атрибуты и операции не представлены(на самом деле они могут быть) Если разделы представлены и являются пустыми, значит атрибутов и операций и классов нет. Связи и ассоциации позволяют устанавливать отношения между объектами и классами соответственно.

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

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

………………………………………….ГРАФИК АССОЦИАЦИЙ……………………………..

Диаграмма классов показывает, что человек может быть держателем акций неопределенного числа компаний, и акции компании могут быть у неопределенного числа людей. Связь обозначается линией между двумя объектами( бинарные ассоциации). Название ассоциаций указывать не обязательно, за исключение тех случаев когда между классами есть несколько ассоциаций.

На практике ассоциации часто реализуются в виде ссылок одного объекта на другой. Т.е. ссылка по сути является атрибутом объекта ссылающегося на другой объект. Поскольку связь это отношение между объектами, моделирование связей в виде ссылок скрывает тот факт что связь не является частью одного из объектов а зависит от них обоих. Поэтому все соединения между классами следует моделировать именно через ассоциации.

Ассоциации нарушают инкапсуляцию , поскольку они соединяют разные классы и не могут быть скрыты внутри класса.