Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Атрибуты и операции классов



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

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

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

Одной из главных характеристик атрибута является его тип данных. Он специфичен для используемого языка. В качестве типов данных можно использовать либо встроенные типы данных языка программирования (string, integer, long и т.д.), либо определенные в модели имена классов.

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

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

Так как атрибуты содержатся внутри класса, они скрыты от других классов. В связи с этим нужно указать, какие классы имеют право читать и изменять атрибуты. Это свойство называется видимостью атрибута (attribute visibility).

Допустимы четыре значения этого параметра: Public (Общий), Private (Закрытый), Protected (Защищенный) и Package or Implementation (Пакетный).

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

В среде Rose поддерживаются два набора нотаций видимости: нотация UML (+, -, #) и пиктограммы видимости Rose. На диаграмме классов разрешается применять любую из этих нотаций.

Операцией называется связанное с классом поведение. Операция состоит из трех частей: имени, пара­метров и типа возвращаемого значения. Параметры — это аргументы, получаемые операцией «на вхо­де». Тип возвращаемого значения относится к результату действия операции. На диаграмме классов можно показывать как имена операций, так и их параметры и типы возвра­щаемого значения.

Следует рассмотреть четыре различных типа операций.

Операции реализации (implementor operations) реализуют некоторую бизнес-функциональность. Такие операции можно найти, исследуя диаграммы взаимодействия. Диаграммы этого типа фокусируются на бизнес-функциональности, и каждое сообщение диаграммы скорее всего можно соотнести с опера­цией реализации.

Операции управления (manager operations) управляют созданием и разрушением объектов. В эту катего­рию попадают конструкторы и деструкторы классов. В среде Rose не требуется вручную создавать конструкторы и деструкторы классов. При генера­ции кода предоставляется возможность сделать это автоматически.

Атрибуты обычно бывают закрытыми или защищенными. Тем не менее другие классы иногда должны просматривать или изменять их значения. Для этого предназначены операции доступа (access operati­ons). Эти операции могут содержать любые правила и условия проверки, которые необходимо выполнить, прежде чем изменить атрибут.

Вспомогательными (helper operations) называются такие операции класса, которые необходимы ему для выполнения его ответственностей, но о которых другие классы не должны ничего знать. Это за­крытые и защищенные операции класса. Вспомогательные операции можно обнаружить на диаграммах после­довательности и кооперативных диаграммах. Часто такие операции являются рефлексивными сооб­щениями.

Возвращаемым классом (return class) операции называется тип данных ее результата. При определении возвращаемого класса можно использовать либо встроенные типы языка про­граммирования (такие, как string, char или integer), либо определенные в вашей модели классы.

Как и в случае других элементов модели, для классификации операций создаются их стереотипы. Существуют четыре наиболее распространенных стереотипа операций: Implementor (Реализация), Manager (Управляющая), Access (Доступ) и Helper (Вспомогательная). Назначение операциям стереотипов не требуется для генерации кода. Тем не менее они облегча­ют понимание модели.

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





Дата публикования: 2014-11-03; Прочитано: 1096 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...