1、依赖
依赖指的是类之间的调用关系,一个类调用了宁一个类的服务(方法)。
如果类A在它的方法中调用另一个类B的方法或属性,则类A依赖类B。
用带箭头的虚线表示依赖:
Public class Person
{
public void buy(Car car)
{.....}
public void buy(House house)
{.....}_
}
2、关联
关联指的是类之间的特定对应关系,在面向对象程序语言角度,关联代表一个类拥有的某个属性对应着另一个类。
描述关联关系的三个维度特性:方向性、多重性、聚集性。
方向性:代表一个类是否拥有能够导航到另一个类的知识,即意味着其有一个状态来保持到对方的引用。可以分为单向关联和双向关联。
多重性-关联可能是多重的:
一对一关联:如一个家教只给一个学生上课
一对多关联:如果一个博导可以带多个研究生,而一个研究生只有一个导师,则导师和学生之间是一对多关联。
多对多关联:一个学生需要修多门课程,每门课程都会有很多学生来上课。
聚集性:据集是一种特殊的关联关系,特指对象之间存在一种”整体与部分“的包含关系。聚具
聚集性具体可以分为两种类型
- 聚合(Aggregate): 普通聚集关系,被聚集的类或子系统允许被拆卸和替换。
- 组合(Composite): 强聚集关系,被聚集的类或子系统不能被拆卸和替换。
例如台式主机之间的组成关系: