参考文档
类图形状助记
各种关系的强弱顺序:
泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖
所以形状也是按这个顺序虚实相间排布:
实线空三角 -> 虚线空三角 -> 实线实菱形 -> 实线空菱形 -> 实线箭头 -> 虚线箭头
各种关系简记
泛化: 继承父类
实现: 实现接口
关联:通过成员变量实现。A的成员变量中有一个B的实例,这就是关联
public class UserService{
private UserModel model;
public void setUserModel(model){
this.model = model;
}
}
聚合:一种较强关联,要求两个关联的对象之间,逻辑上还要有整体和部分的关系,部分不是由整体创建、销毁,而是独立存在的
public class UserService{
@Autoware
private UserAuthenService authenService;
}
组合:一种最强关联,要求两个关联对象之间,不仅逻辑上要有整体和部分的关系,而且部分是由整体创建、销毁的,部分不能在外独立存在。
public class UserService(){
private UserAuthenService authenService;
public UserService(){
this.authenService = new UserAuthenService();
}
}
依赖:通过局部变量、方法参数和静态方法调用
public class UserService(){
public authen(name,password){
UserAuthenService authenService = new UserAuthenService();
authenService.auth(name,password);
}
}
依赖是一个类持有另一个类的实例,所以依赖不可以指向接口
权限
+ public
- private
# protected
抽象
斜体表示抽象方法或抽象类