• Операции реализации (implementor operations)реализуют некоторые функции (процедуры). Такие операции выявляются путем анализа диаграмм взаимодействия UML.
• Операции управления (manager operations)управляют созданием и уничтожением объектов. В эту категорию попадают конструкторы и деструкторы классов.
• Атрибуты обычно бывают закрытыми или защищенными. Тем не менее, другие классы иногда должны просматривать или изменять их значения. Для этого существуют операции доступа(access operations).
• Вспомогательными (helper operations)называются такие операции класса, которые необходимы ему для выполнения его обязанностей, но о которых другие классы не должны ничего знать. Это закрытые и защищенные операции класса.
Следующую группу важных понятий объектного подхода составляют наследование и полиморфизм.
5. Полиморфизм - способность класса принадлежать более чем одному типу.
Полиморфизм — это способность скрывать множество различных реализаций под единственным общим интерфейсом.
Интерфейс — совокупность операций, определяющих набор услуг класса или компонента.Интерфейс не определяет внутреннюю структуру, все его операции имеют открытую видимость. Полиморфизм тесно связан с наследованием. Наследованиеозначает построение новых классов на основе существующих с возможностью добавления или переопределения свойств (атрибутов) и поведения (операций).
Объектно-ориентированная система изначально строится с учетом ее эволюции. Наследование и полиморфизм обеспечивают возможность определения новой функциональности классов с помощью создания производных классов - потомков базовых классов. Потомки наследуют характеристики родительских классов без изменения их первоначального описания и добавляют при необходимости собственные структуры данных и методы. Определение производных классов, при котором задаются только различия или уточнения, в огромной степени экономит время и усилия при производстве и использовании спецификаций и программного кода.
6. Компонент— относительно независимая и замещаемая часть системы, выполняющая четко определенную функцию в контексте заданной архитектуры. Компонент представляет собой физическую реализацию проектной абстракции и может быть:
¾ компонентом исходного кода;
¾ компонентом времени выполнения (run time);
¾ исполняемым компонентом.
Компонент обеспечивает физическую реализацию набора интерфейсов.
7. Связи. Между элементами объектной модели существуют различные виды связей. К основным типам связей относятся:
¾ связи ассоциации,
¾ зависимости
¾ и обобщения.
Ассоциация (association)— это семантическая связь между классами. Ее изображают на диаграмме классов в виде обыкновенной линии (рис. 2.39). Ассоциация отражает структурные связи между объектами различных классов.
Зависимость (dependency)— связь между двумя элементами модели, при которой изменения в спецификации одного элемента могут повлечь за собой изменения в другом элементе. Зависимость — слабая форма связи между клиентом и сервером (клиент зависит от сервера и не имеет знаний о сервере). Зависимость изображается пунктирной линией, направленной от клиента к серверу (рис. 2.45).
Обобщение (generalization)— связь «тип-подтип» реализует механизм наследования (inheritance). Большинство объектно-ориентированных языков непосредственно поддерживают концепцию наследования. Она позволяет одному классу наследовать все атрибуты, операции и связи другого. В языке UML связи наследования называют обобщениями и изображают в виде стрелок от класса-потомка к классу-предку (рис. 2.46).