Реферат: Локальная сеть предприятия UML - Unified Modeling Language
{
private:
attack(int damage) // damage - урон
{}
};
Напоминаю, что стандартные типы C++ являются классами. Вот как будет выглядеть взаимодействие классов MonstAr и int на диаграмме UML:
Обратите внимание на то, как в этой диаграмме показано отсутствие атрибутов у элемента.
Иногда при ассоциации показывают направленность (если это имеет значение). В спецификации UML используется слово navigable. На мой взгляд, на русском здесь нужно использовать направленность , так как это слово правильно отражает суть. Направленность показывается с помощью стрелочки (обратите внимание, как рисуется стрелочка, это имеет значение):
Заметьте, что стрелочка указывает на int. В данном случае направленность ассоциации говорит нам, что в методе MonstAr::Attack используется объект типа int.
Обобщение (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 - присоединение). По-русски это будет агрегация, агрегирование или соединение частей. Мы будем использовать слово агрегация .