Для представления наследования в 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;
};
На диаграммах агрегация показывается незакрашенным ромбом.