类和接口之间的关系
关联关系: Directed Association(定向关联)
由拥有者指向被拥有者
若A指向B:
说明: A类中有B类的成员变量
聚合关系: Aggregation
由整体指向部分,与关联关系的不同是:聚合除了有关联性还有整体和局部性的包含性
若A指向B:
说明: A类中有B类的成员变量
A类是整体B类是部分,A类由B类构成,B类脱离A可以单独存在
组合关系: Composite
是一种强的不可分割的聚合关系,与聚合关系的不同是:除了含有聚合关系的特质外,还不可分割
人和身份证是聚合关系,因为未成年的人可以没有身份证,若系统中删除人一并级联删除身份证,那么这种场景人和身份证就是组合关系了
但是人和头是组合关系
组合关系简单的理解就是: 同生共死,古代结拜为异性兄弟,不求同年同月同日生,只求同年同月同日死,如果真的同年同月同日死了,就是组合关系
依赖关系: Dependency
由使用者指向被使用者
若A指向B:
说明: A类中有B类对象的局部变量,比如在A类方法中实例化了B类
或者: A类中有B类对象作为参数的方法
或者: A类中有方法调用了B类中的方法
继承关系: Extend
类与类之间的继承关系
接口与接口之间的继承关系
由子类继承父类或子接口继承父接口
若A指向B:
说明A是B的子类或子接口
实现关系: Realization
是类与接口之间的关系,类实现接口
若A指向B:
说明A实现了B接口
泛化关系: Generalization(一般化,泛化),是继承的反关系
类似继承,但指向相反,一个接口被一个类实现,那么接口指向类也是泛化关系