类之间的 containsA 和 isA 关系分别指什么呀,说是后者以公有继承实现,那么前者怎么实现
举例:
class Body
{
};
class Head
{
};
class Person
{
public:
Body body;
Head head;
};
class ChinesePerson
{
};
body、head和Person的关系是Person contains head and body.
ChinesePerson和Person的关系是Chinese person is a person.
前者包含A的对象,后者继承自A,因为是A的派生类,所以用于参数、数组和返回值时可以作为A的引用对象
类之间isA是用于继承,而containsA是组合,是一个类中包含了其他类。isA以公有继承实现,containsA以组合实现的。
例如:猫是一种动物 isA ,飞机场有飞机containsA 。