设计模式之路:UML类图

1 基础知识

1.1 类

  • 第一层表示类名,若是一个抽像类,则类名用斜体表示,例如:
  • 第二层表示类的属性
  • 第三层表示类的方法
    在这里插入图片描述

注意:在第二层和第三层最前面的符号表示访问权限,例如:+、-、#。

符号访问权限
-private
(空)(缺省,表示包级别的权限)
#protected
+public

1.2 接口

  • 第一层表示接口名称,顶部有<<interface>>标记。
  • 第二层表示接口方法,访问权限和类的符号一致。
    在这里插入图片描述

1.3 注释

注释用一个右上角有一个折叠三角形的矩形表示,使用虚线链接需要注释的模块
在这里插入图片描述

2 类(接口)之间的关系

2.1 继承关系

当我们想要表示继承关系时,使用空心三角形和实线。如下所示,表示Dog类继承了Animal类。
继承关系

public class Animal {
	public String name;
	public Integer age;
	public void run() {
	}
	public void eat() {
	}
}
public class Dog extends Animal {
	public String hairColor;
	public void sniff() {
	}
}

2.2 实现关系

当要表示一个类实现了某个接口时,使用空心三角形和虚线。如下所示,有些狗能帮助盲人导路,我们就让Dog实现了Guide接口,使其具有导路的功能。
实现关系

public interface Guide {
	void guide();
}
public Dog extends Animal implements Guide {
	public String hairColor;
	public void sniff() {
	}

	@Override
	public void guide() {
	}
}

2.3 关联关系

当一个类“知道”另一个类时,我们可以用关联关系。关联关系使用实线箭头来表示。例如,学生需要知道自己的学校,这样学生才能去自己的学校上课。
在这里插入图片描述

public class Student {
	School school;
}

2.4 聚合关系

聚合表示一种弱的‘拥有’关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。聚合关系使用空心的菱形和实线箭头来表示。例如,每个学生都属于一个班级,一个班级可以有多个学生,它们之间就是聚合关系。
聚合关系

2.5 组合关系

组合关系是一种强的拥有关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。组合关系使用实心菱形和实线箭头来表示。例如,汽车是由发动机、轮胎和底盘等组成,这里轮胎和汽车就是组合关系,连线两端的数字被称为基数,表明左端的类可以有几个实例。在这里,很显然一辆车有四个轮胎。
组合关系

2.6 依赖关系

依赖关系使用虚线箭头表示。例如,人类呼吸依赖于氧气。
依赖关系

public class Oxygen {
}
public class Human {
	public breathe(Oxygen oxygen) {
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值