面向对象 继承与派生

一、概述:类和类最重要的两种关系:组合关系(is part of);泛化关系(is kind of,启发代码重用)。

泛化关系表示事物在垂直方向上的一种分类,从一个抽象类型细分出多个具体类型,并且可以继续细分下去,最终形成泛化树。泛化树中的上层结点称为父类(基类),父类的下层结点称为子类(派生类)。父类派生出子类,子类继承了父类。

// A 类派生与 B 类、可用公有继承、保护继承、私有继承等,可单一继承、多重继承。多重继承的基类列表中包含多个基类,用逗号隔开。
//不管何种继承,派生类占据的内存都大于父类,包括那些父类私有的都会被派生出来浪费空间,所以要慎用派生继承。
class A : public B { ...//派生类新增数据成员及成员函数 };

不适合使用继承关系的情况:

1,与分类学尝试矛盾

2,所研究问题不需要的分类

3,只有一个属性不同的分类(eg:本科生与研究生,中国人和外国人等)

注意:封装性要求私有成员只有对象本身可以访问;构造函数和析构函数都是每个类所特有的,不能被继承;

不同继承方式的访问属性:

 

 

posted on 2013-10-30 15:05  Lingc·  阅读(224)  评论(0编辑  收藏  举报

导航

不知道不知道 知道不知道 知道知道 不知道知道。
天道酬勤,同志们共同努力!