目录
类和接口的关系
实现 (enable)
接口提供一组功能的描述,而实现就是编写接口的代码部分
Driver enable Drivable,Driver 实现了 Drivable
class Driver implements Drivable
类图(虚三角形 + 虚线):
对象和对象的关系
继承 (is)
Driver is Person,Driver 继承了 Person
class Driver extends Person
类图(虚三角形 + 实线):
关联关系
依赖 (use)
Driver use a Car,Driver 依赖了 Car
class Driver {
drive (Car car)
}
类图(箭头 + 虚线):
聚合 (have)
Driver have Car,Driver 聚合了 Car
class Driver {
Car car;
drive() -> car.drive();
}
类图(虚菱形):
组合 (contain)
Driver contain Car,Driver 组合了 Car
类图(实菱形):
和聚合关联的区别
生命周期不同:
- 聚合关联作为成员引用了对象,删除整体对象不影响成员
- 组合关联也是作为成员引用了对象,但是删除整体对象必须删除成员