Обобщение (generalization)

Для представления наследования в UML используется обобщение (generalization, напоминаю, что все термины берутся из спецификации UML). Пример:

MonstAr

{

private:

attack(int damage) // damage - урон

{}

};

 

BigMonstAr: public MonstAr // большой (big) MonstAr

{

 // определение класса

};

 

SmallMonstAr: public MonstAr // маленький (small) MonstAr

{

 // определение класса

};

При обобщении рисуется сплошная линия. Обратите внимание как рисуется стрелочка - пустой треугольник.

Теперь насчёт слова обобщение (generalization). В UML используется именно оно, а не наследование, так как в данном виде связи один из классов (базовый) является общим, а остальные классы (производные) - более специализированными.

Aggregation - агрегация, агрегирование, включение в UML

Следующий тип связи между классами - aggregation (слово происходит от латинского aggregatio - присоединение). По-русски это будет агрегация, агрегирование или соединение частей. Мы будем использовать слово агрегация.

Итак, в UML агрегация отражает связь классов, когда объект одного класса является атрибутом другого. Пример:

class MonstAr

{

public:

int a;

};

На диаграммах агрегация показывается незакрашенным ромбом.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: