所谓类是对一组具有相同属性、操作、关系和语义的对象的描述,类主要是由名称、属性、操作组成。
UML中描述三种可见性
1.公有(Public):对于给定的类元,任何外部类对象都可以访问该种特性的类成员属性和成员函数。用“+”表示
2.受保护(Protected):任何子类,都可以使用这种特性的成员属性和成员函数。用“#”表示
3.私有(Private):只有类本身能够使用的特性。用“-”表示
通常类可分为三种类型:实体类(entity)、边界类(boundary)和控制类(control)。
1.实体类:对系统中需要存储的信息和其信息的行为建立模型。类似与数据库中的表,实体类的构造类型(stereotype)被设定为entity。
2.边界类:位于系统与外界的交界处,它在一个或多个角色和系统之间建立相互作用的模型。可使用边界类捕获一个用户界面的需求,边界类使角色能与系统交互。边界类的构造类型被设定为boundary.
3.控制类:负责协调其他类的工作,它建立了一个或几个用例的行为模型,整理系统的行为并描述一个系统的动态特性,处理主要任务和控制流。控制类的构造类型是control。
类的关系
在面向对象中,主要有类的关联、依赖、泛化以及使用等关系。
1.依赖:是一种使用关系,它说明了一个事物声明说明的变化可能影响到使用它的另一个事物,但反之未必。把依赖画成一条有向的虚线,指向被依赖的事物。UML定义了4类基本依赖类型。分别是使用(usage)依赖、抽象(abstraction)依赖、授权(permission)依赖和绑定(binding)依赖。
a.使用依赖:使用者使用服务者所提供的服务来实现它的行为。
b.抽象依赖:表示使用者和提供者之间的关系,它依赖于在不同抽象层次上的事物。
c.授权依赖:一个事物访问另一个事物的能力,提供者可以规定使用者的权限。
d.绑定依赖:对目标模板使用给定的实际参数进行实例化。
2.泛化:一般事物(父类)和较特殊事物(子类)之间的关系。类似于对java中继承关系的操作,UML中泛化用从子指向父的箭头(空三角形)。
3.实现:类之间的关系,类描述了另一个类(接口)实现的方式。实现关系中的一个类只具有行为的定义,而具体的结构和行为,则是由另一个类来给出。强调的是接口。
4.关联:结构关系,它描述了一个事物对象与另一个事物对象的相互联系。其中有一对多的关联等。UML中,有4种应用到关联的基本修饰:关联名、关联端的角色、关联端的多重性以及聚合。
多重性:在建模是需要说明一个关联的实例中有多少个相互连接的对象。“多少”就被称为关联角色的多重性。
修饰 | 语义 |
0..1 | 表示0个或1个 |
1 | 表示1个 |
0..*等同于0..n | 表示0个或更多 |
1..*等同于1..n | 表示1个或更多 |
* 等同于 n | 表示0个或更多 |