一. 类
类图分三层:
第一层是类的 名称,如果是抽象类,则用斜体显示。第二层是类的 特性,通常就是字段和属性。
第三层是类的 操作,通常是方法或行为。注意 '+' 表示 public,'-' 表示 private,'#' 表示 protected 。
class Animal
{
public:
void eat();
void birth();
public:
bool lief;
};
二. 继承关系
继承关系用 空心三角 + 实线 来表示。
![](https://img-my.csdn.net/uploads/201204/27/1335498862_4468.jpg)
三. 聚合关系
聚合关系表示一种 弱 的 “拥有” 关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。
聚合关系用 空心的菱形 + 实线 箭头来表示。//大雁
class WideGoose
{
};
//雁群
class WideGooseAggregate
{
private:
WideGoose arrayWideGoose[];
};
注:用代码表示就是,类里面有类。
四. 组合关系
组合是一种 强 的 “拥有” 关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。
组合关系用 实心的菱形 + 实线箭头 来表示。//翅膀
class Wing
{
};
//鸟
class Bird
{
public:
Bird()
{
m_wing = new Wing;
}
private:
Wing* m_wing;
};
注:在构造函数里,实例化,两者同时生成。
五. 依赖关系
用虚线箭头来表示。
class Animal
{
public:
void Metabolism(Oxygen oxy, Water wat)
{
}
};
六. 关联关系
关联关系用实线箭头来表示。
![](https://img-my.csdn.net/uploads/201204/27/1335498892_4411.jpg)
七. 实现接口
用实心三角形+ 虚线来表示。