类图:是面向对象系统建模中最常用和最重要的图。类图主要用来显示系统中的类、接口以及它们静态结构和关系的一种静态模型。类图的三个基本组件:类名、属性和方法。
类由一个矩形框组成,矩形框分为三层:类的名称,成员名,方法名
成员变量和成员方法前面有权限修饰符
“-”:private——私有
“+”:public——公有
“#”:protected——保护性
1.泛化(Generalization)
含义:类的继承关系。
表示:用空心三角和实线,空心三角指向父类。
举例:狗和猫都是一种动物。
2.实现(Realization)
含义:类与接口的关系,表示类是接口所有特征和行为的实现。
表示:用空心三角和虚线,空心三角指向接口。
3.关联(Association)
关联是一种拥有关系(has),一个类可以条用另一个类的公有的属性和方法。在类中以成员变量的方式表示。比如老师有自己的学生,知道学生的姓名学号成绩;学生有自己的老师,也知道老师的姓名和所教的科目。关联分为单向关联、双向关联和自关联。
3.1单项关联
含义:
表示:带箭头的直线表示。
3.2双向关联
含义:指双方都知道对方的存在,都可以调用对方的公共属性和方法。
表示:用一条直线连接两个类,也可以用双向箭头。
3.3自关联
含义:自己引用自己
表示:带箭头的直线,指向自己。
4.聚合(Aggregation)
含义:整体与部分的关系,部分离开整体后可以单独存在。常用于类的成员变量。
表示:带空心菱形和箭头的直线(或没有箭头),菱形挨着整体,箭头指向部分。
5.组合(Composition)
含义:整体与部分的关系,部分离开整体后不可以单独存在,代表整体的对象负责代表部分的对象的生命周期。常用于类的成员变量。
表示:带实心菱形和箭头的直线(或没有箭头),菱形挨着整体,箭头指向部分。
6.依赖(Dependency)
含义:是一种使用的关系,即一个类的实现需要另一个类的协助,常用于类方法的局部变量、方法参数等。
表示:带箭头的虚线。
注意:关联、聚合和组合、依赖的区别
1)关联代表类与类的关系;
2)聚合和组合代表整体与部分的关系;
3)依赖是一种弱的关系,表示一个类的方法的实现需要用到另一个类,但二者之间并没有明显的关系。
7。聚合和组合的区别:组合的关系就像人和他的各个器官,手、脚、鼻子、眼睛等器官组合,这些器官离开了人这个个体,也就失去了意义,无法单独生存。聚合就像一个班级有许多学生构成,学生离开了班级,作为个体仍然存在,而班级也存在。
这几种关系的强弱比较:
泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖
8.(以下是借鉴)动物界的类图