用于描述系统中的类(对象)本身的组成和类(对象)之间的各种静态关系
。
类之间的关系:依赖、泛化(继承)、实现、关联、聚合与组合。
依赖
只要是在类中用到了对方,那么他们之间就存在依赖关系。如果没有对方,连编绎都通过不了。
依赖关系包括一下几种形式
类中用到了对方
如果是类的成员属性
如果是方法的返回类型
是方法接收的参数类型
方法中使用到
public class PersonServiceBean {
// 类
private PersonDao personDao;
// 构造器
public PersonServiceBean (Person person) {
// .....
}
// 方法形参
public void savePerson(Person person) {
}
// 方法返回值类型
public IDCard getIdCard(Integer idCard) {
return null;
}
// 方法里面的变量
// ps 虽然违反了迪米特 法则, 但是这的确是一种表现形式
public void modify() {
Department department = new Department();
}
}
class Person{
}
class IDCard {
}
class PersonDao {
}
class Department {
}
泛化
泛化关系实际上就是继承关系,TA 是依赖关系的特例
实现
如何记住箭头的方向?
对于这个来说:是 MyThread 实现了 Runable 所以 箭头指向 Runable
关联关系
类与类之间的关系,TA 是依赖关系的特例
关联有导航性、多重性
聚合关系
整体和部分的关系,整体和部分可以分开
组合关系
整体和部分的关系,比聚合关系更加密不可分,整体和部分不能分开
public class PersonServiceBean {
// 这种就是不可以分离的,是组合关系
private PersonDao personDao = new PersonDao();
// 这个就是可以分离的属于是,聚合关系
private IDCard cardId;
public void setIDCard(IDCard idCard) {
cardId = idCard;
}
}