类图和对象图(对象是类的实例,那么对象图就是类图的一个实例,类图类名下面无下划线,而对象图是有的):
一、依赖关系(使用带实心箭头的虚线表示):假设A类的变化引起了B类的变化,则说名B类依赖于A类。
依赖关系有如下三种情况:
1、A类是B类的一个成员变量;
2、A类是B类方法当中的一个参数;
3、A类向B类发送消息,从而影响B类发生变化;
二、泛化关系(使用带空心箭头的实线表示):A是B和C的父类,B,C具有公共类(父类)A,说明A是B,C的一般化(概括,也称泛化)
在UML当中,对泛化关系有三个要求:
1、子类与父类应该完全一致,父类所具有的属性、操作,子类应该都有;
2、子类中除了与父类一致的信息以外,还包括额外的信息;
3、可以使用父类的实例的地方,也可以使用子类的实例;
三、关联关系(使用实线来表示):两个类的实例之间存在着某种语义上的联系
关联关系是所有关系当中最最通用的关系;
某种联系不存在非常明确的定义
如:学校、教室和老师
关联关系分为两种:
1、聚合关系
表示的是整体和部分的关系,整体与部分可以分开
如:电话机包括一个话筒
电脑包括键盘、显示器,一台电脑可以和多个键盘、多个显示器搭配,确定键盘和显示器是可以和主机分开的,主机可以选择其他的键盘、显示器组成电脑;
使用带空心菱形的实线来表示
2、组合关系
也是整体与部分的关系,但是整体与部分不可以分开
如:公司和部门,部门是部分,公司是整体,公司A的财务部不可能和公司B的财务部对换,就是说,公司A不能和自己的财务部分开;
人与人的心脏
四、实现关系(使用带空心箭头的虚线表示):是用来规定接口和实线接口的类或者构建结构的关系,接口是操作的集合,而这些操作就用于规定类或者构建的一种服务。