类与类之间头关系:可以分为有关系和无关系
有关系可分为以下6种
继承:extends(is-a)
实现:implmentes(can-do)
组合:类是成员变量(contains-a)
聚合:类是成员变量(has-a)
依赖:是除组合与聚合外单向弱关系
关联:互相平等依赖关系(links-a)
类关系 | 描述 | 权力强侧 | 说明 | 示例 |
---|---|---|---|---|
继承 | 父类与子类之间的关系(is-a) | 父类方 | 猫继承动物,完全符合里氏代换 | |
实现 | 接口与实现类之间的关系:(can-do) | 接口方 | 猫实现了猫叫的接口行为 | |
组合 | 比聚合更强的关系:(conains-a) | 整体方 | 头只能是身体组组合的一部分,两者完全不可分,具有相同的生命周期 | |
聚合 | 暂时组装的关系:(has-a) | 组装方 | 猫与绳子之间是暂时聚合的关系,绳子完全可以复用到另一只猫 | |
依赖 | 一个类用到另一个类关系:(depends-a) | 被依赖方 | 人喂养猫,猫作为参数传入,是一种依赖关系 | |
关联 | 类与类之间存在互相平等的使用关系(links-a) | 平等 | 人可以用信用卡消费,信用卡可以查看个人信息 | |