第五周学习:继承关系和复合关系

  1. 继承关系: is-a关系。

A是基类,B是派生类,比如A是student类,B是CS student类,那么一个B对象也是A对象。

  1. 复合关系:has-a关系

类C中有成员变量k,而k是类D的对象,则C和D是复合关系。比如C是人类,D是内脏类,则D对象是C对象的固有属性或组成部分

拿到两个类,他们有关系,先看看是不是继承关系(一个类是不是另一个类),或者是不是包含关系(一个类里有没有另一个类),或者这两类有没有共性,提出共性创造基类。

然后如果has-a关系,想访问另一个类private,可以设置为friend。

例子:人和狗,一个人可以有最多十条狗,一条狗只有一个主人。那么如何设置人和狗的关系呢。

首先肯定是复合关系,先声明一个Master类,然后Dog类里声明一个Master类指针,然后Master类里声明一个Dog类指针数组。这样Dog可以通过指针找到master,master也可以通过对应数组找到dog

猜你喜欢

转载自blog.csdn.net/ZmJ6666/article/details/108577984
今日推荐