在类图中,类与类之间的关系主要有一下几种:
泛化关系:
public class Employee {
}
public class SaleEmployee extends Employee {
}
依赖
依赖关系是指一个类对别一个类的依赖,比如说 Employee 类中有一个方法叫做 TakeMoney(Bank bank) 这个方法,在这个方法的参数中用到了 Bank 这个类,那么这个时候可以说 Employee 类依赖了 Bank 这个类,如果 Bank 这个类发生了变化那么会对 Employee 这个类造成影响。
关联 (Association) :
关联关系有点边界模糊和依赖有点像,但又完全不像。关联是指一个类用到了另外的一个类,但不依赖。还是用代码来表达比较贴切
public class School {
public Student stu;
}
public class Student {
}
聚合关系( aggregation ):
聚合是一种单向关系,聚合与关联的区别在于聚合的两个类之间的关系在概念层次上不是一个级别的,一般来说聚合中的类关系总是一个类比别一个类要高级一些,而关联基本上是平级的
public class Car {
public Engine engine;
public Wheel wheel;
}
public class Engine {
}
public class Wheel {
}
合成 (Composition):
合成是一种特殊的聚合形式,它是提类与类之间的联系是非常密切的,少了那一个也不行。
实现( Realization )
简单的说就是接口