1 继承关系 is-a
A类是B类的子类。这种情况如果A要访问B类的成员,直接用就行,就像自己的东。
这种关系是典型的基类,子类的关系。目的是提高代码的重用性。这也是自然界中常见的纵向关系,毕竟进化论是自然界的基本依据。
2 包含关系 has-a
A类包含B类的对象作为成员。这种情况如果A要访问B类的成员,多了一层层次。
这种关系描述了自然界group的概念,毕竟无论自然与社会,组织才是形成世界的基本形式,单个个体不能在社会上存在。例如公司有很多雇员。
3 依赖关系 use-a
A类要处理B类的对象,但是这个对象不是A类的成员,但是会改变A类成员。
我们设计类希望类具有独立性,这种关系尽管不期望,但是很常见。毕竟万事万物都是互相影响和联系。特别是不对等的类,例如中美贸易会影响中国GDP。人要吃五谷杂粮生存。
小结:
继承关系比较好区分。依赖和包含关系有时难以区分,尽管两者都是A类处理B类对象,区别就是B是不是A类的成员。