C++ is-a was-a has-a holds-a
flyfish 2015-1-28
is-a :公有继承(public inheritance)一般称为两个对象是之间是 is-a 关系
was-a: 私有继承称两个对象是 was-a 关系
has-a:has-a关系描述一个类中有另一个类型的实例
holds-a:描述的是一个类中保存了指向另一个类型的指针或者引用继承使设计的耦合度过于紧密,当一个类继承另一个类时,不管什么样的权限继承,子类都可以获得基类所有的public和protected成员的访问权限
使用组合时该类仅仅与其他类的public成员耦合。当使用holds-a关系时 不需要引用其他类的头文件只需要使用 前置声明。
原文地址:http://blog.csdn.net/flyfish1986/article/details/43245717