目录
1、依赖(Dependence)
定义:一种“使用”关系,说明一个模型元素的变化必影响到另一个模型元素,反之未必。体现了类之间的弱作用关系(最弱)。
体现:类A的一些方法、参数使用了类B的对象,那么说类A依赖于类B。
表示:虚线+箭头
2、关联(Association)
定义:一种结构关系,是类之间的引用关系,代表类的对象之间的一组连接。体现了类之间的强作用关系。比如:人和公司,老师和学生,生产者和消费者。
体现:通过成员变量来实现关联关系。
表示:实线或实线+箭头
依赖和关联的比较
- 依赖关系是仅当类的方法被调用时而产生,伴随着方法的结束而结束。
- 关联关系当类实例化的时候产生,当类对象销毁的时候关系结束。相比依赖,关联关系的生存期更长。
3、聚合(Aggregation)
定义:一种特殊的关联关系,表示部分与整体的关系。体现了类之间的强作用关系。
体现:类A是类B的一部分,比如学校和教师,计算机和显示器。局部可以独立于整体而存在,比如显示器相对于计算机是可以独立存在的!
表示:实线+虚心菱形箭头
4、组合(Composition)
定义:一种特殊的关联关系,也表示部分与整体的关系。体现了类之间的强作用关系。又称为强聚合。
体现:类A是类B的一部分,强调了部分和整体具有相同的生存周期,比如:窗口一旦关闭,那么它的部分(菜单、按钮等)都会随之消失。
表示:实线+实心菱形箭头。
5、泛化(Generalization)|继承
定义:指类之间的“一般和特殊关系”,也就是继承啦,(耦合度最高)。
体现:子类A继承于父类B。。
表示:实线+空心三角箭头
6、实现(Realization)
定义:接口和类之间的关系。
体现:比如:手机工厂接口,与华为手机工厂实现类,小米手机工厂实现类之间的关系。
表示:虚线+空心三角箭头
类之间的耦合度
依赖<关联<聚合<组合<泛化