我们今天来讲一下类和类之间的关系,在类里面,分为了三种关系:
-
没有任何关系
-
继承关系(派生)
-
复合关系(类似于封闭类)
继承:“是”关系。
– 基类 A,B是基类A的派生类。
– 逻辑上要求:“一个B对象也是一个A对象”。
复合:“有”关系。
– 类C中“有”成员变量k,k是类D的对象,则C和D是复合关系
– 一般逻辑上要求:“D对象是C对象的固有属性或组成部分”
继承关系的使用
写了一个 CMan 类代表男人
后来又发现需要一个CWoman类来代表女人
CWoman类和CMan类有共同之处
就让CWoman类从CMan类派生而来,是否合适?
是不合理的! 因为“一个女人也是一个男人”从逻辑上不成立!
好的做法是概括男人和女人共同特点,
写一个 CHuman类,代表“人”,然后CMan和CWoman都从
CHuman派生。
复合关系的使用
几何形体程序中,需要写“点”类,也需要写“圆”类
cla