概述
继承的概念分类
概念:保持已有类的特性而构造新类的过程为继承。
在已有类的基础上新增自己的特征而产生新类的过程为派生。
被继承的类就称为基类或父类 Base Class
派生出的新类称为派生类也叫子类 Derived Class
直接参与派生出某类的这个基类称为直接基类
派生类可以继续作为基类,再派生出下级的子类,这就是多级派生
类还可以有基类的基类称为间接基类
分类:
单继承:从一个基类派生
多继承:从多个基类派生
层次继承:某类的特性也可被多个基类继承
多层继承:从一个派生类继承类的机制
混合继承:继承结构中既有单继承又有多继承
基类和派生类之间的关系:
(1)派生类是基类的具体化
基类是对若干个派生类的抽象,而派生类是基类的具体化。
派生类也可以描述为 is - a 的关系,也就是派生类是基类
(2)派生类是基类定义的延续
(3)派生类是基类的组合
在多继承时,一个派生类从多个基类派生时,这时派生类将是所以基类行为的组合
派生类的定义
单继承定义语法:
class 派生类名: 继承方式 基类名
{
成员声明;
};
多继承定义语法:
class 派生类名 : 继承方式 1 基类名 1 ,继承方式 2 基类名2 ,…
{
成员声明;
} ;
注意:每一个继承方式,只用于限制对紧随其后基类的继承
class Sofa
{};
class Bed
{};
class Sofabed : public Sofa,private bed
{
public:
Sofabed();
~Sofabed();
};
继承方式:
1.继承(public)
2.私有继承(private)
3.保护继承(protected)
不同继承方式主要影响以下方面:
1)派生类成员对基类成员的访问权限;
2)通过派生类对象对基类成员的访问权限
protected成员具有以下特点及作用:
对建立其对象的模块来说,他与private性质相同
对于其派生类来说,它与public成员的性质相同,即实现数据隐藏,又方便继承,实现代码重用
对于私有继承:基类的public和protecetd成员:都以private成员身份出现在派生类中:基类的private 成员:不可直接访问
派生类中的成员函数:可以直接访问基类中的public和protecetd成员,但不能直接访问基类中的private成员:通过派生类的对象:不能直接访问从基类中继承的任何成员
派生类的设计步骤:
(1)吸收基类的成员
(2)改造基类的成员
(3)发展新成员
继承使用注意事项
(1)不允许在类的继承层次中出现环。一个 类必须完全定义后才可作为基类.
(2)不允许一个派生类直接继承同一个基类两次。
(3)不允许一个基类既是直接基类又是间接基类.
(4)如果所有派生类都是间接继承同一个基类,则允许重复继承.
(5)对被重复继承的基类,以共享方式继承,或以复制方式继承
最后
以上就是多情小刺猬为你收集整理的c++学习笔记 5.9的全部内容,希望文章能够帮你解决c++学习笔记 5.9所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复