>> >> >> Reference << << << <<<<<<Ref>>>>>>
Class Diagram
Modified: 2025-12-31 | Author:ljf12825

类图是系统的结构蓝图,它描述的是

类的标准画法

一个类用一个矩形表示,分三层

+------------------+
|     Player       |  类名
+------------------+
| - hp : int       |  属性
| - speed : float  |
+------------------+
| + Move() : void  |  方法
| + Attack()       |
+------------------+

可见性符号

| 符号 | 含义 | | + | public | | - | private | | # | protected | | ~ | package |

类之间的6种核心关系

1. 继承(泛化Generalization)

Enemy
Boss

2. 关联(Association)

Player ───── Weapon
class Player {
    Weapon* weapon;
}

3. 聚合(Aggregation) —— 弱拥有

Team ◇──── Player
class Team {
    std::vector<Player*> players;
};

4. 组合(Composition) —— 强拥有(生命周期绑定)

Car ◆──── Engine
class Car {
    Engine engine;
};

5. 依赖(Dependency)

A -----> B
void Render(Mesh& mesh)

6. 实现(接口)

IWeapon
Sword

C++抽象类

class IWeapon {
public:
    virtual void Attack() = 0;
};

关系强度对比(从弱到强)

依赖 -> 关联 -> 聚合 -> 组合 -> 继承
关系生命周期绑定所有权
依赖
关联
聚合
组合
继承类型绑定

类图的作用

在做系统时,可以先画类图,再写头文件,最后写实现