类图描述了我们软件系统中类与类的关系。
既然描述是类与类的关系,我们就先来看下一个类是如何表示的
一 UML类图的表示:
在uml类图中,类一般由三个部分组成:
1. 类名:每个类都必须有一个名字,类名是一个字符串
2.属性(Attributes):属性是类的性质,即类的成员变量.类可以有任意多个属性,也可以没有属性.表示方式如下图
可见性有public(+),protected(#),private(-)
3. 操作(Operations):操作是类的任意一个实例对象都可以使用的行为,操作是类成员方法.
二 类图中的关系
1. 关联
•association
•关联用于表示一类对象与另一类对象有联系,在用java,c++实现关联关系时,通常将一个类的对象作为另一个类的属性。
•关联可以有方向,可以是单向关联或双向关联。
•单向关联:用带箭头的实线表示
•双向关联:默认情况下,关联是双向的,用直线(实线)表示,没有方向
•自关联
•重属性关联:一个类的属性中有多个其它类的对象
•聚合:整体与部分的关系
组合:一种特殊形式的聚合,整体与部分具有相同的生存期
2.泛化
•Generalization
•表示两个类元间“一般”与“特殊”的关系。
•对应面向对象编程语言中类与类之间的继承关系。
3.实现
•Realization
•表达一种说明元素与实现元素之间的关系;
•典型应用:接口与实现它的类
4.依赖
•Dependency
•描述两个或多个元素之间语义上的联系,如果一个元素(提供者)的变化将影响另一个元素(客户),则称客户依赖于提供者。举例来说,一个类可以实例化另一个类,而不是将其作为一个成员。又或,一类的方法可能需要另一个类作为输入参数。