继承与派生(一)

一、面向对象程序设计的4个主要特点
抽象、封装、继承和多态性
继承
在已有类的基础上建立一个新类的过程称为继承
被继承的已有类称为基类(父类)
派生
在已有类的基础上新增自己的特性而产生新类的过程称为派生
派生出的新类称为派生类(子类)
二、继承与派生的概念
基类综合了派生类的公共特征,派生类则在基类的基础上增加某些特性
基类是派生类的抽象,派生类是基类的具体化
继承与派生的目的:实现代码的重用
三、派生类的继承方式
(1)公有继承
在定义一个派生类时将基类的继承方式指定为public的,称为公有继承
用公有继承方式建立的派生类称为公有派生类,其基类称为公有基类
采用公有继承方式时,基类的public和protected成员的访问属性在派生类中保持不变,但基类的private成员成为派生类中的不可直接访问成员
派生类的对象可以访问基类的公有成员
(2)私有继承
在定义一个派生类时将基类的继承方式指定为private的,称为私有继承
用私有继承方式建立的派生类称为私有派生类,其基类称为私有基类
采用私有继承方式时,基类的public和protected成员的访问属性都相当于派生类的私有成员,基类的private成员成为派生类中的不可直接访问成员
派生类的对象不可以访问基类的公有成员
(3)保护继承
在定义一个派生类时将基类的继承方式指定为protected的,称为保护继承
用保护继承方式建立的派生类称为保护派生类,其基类称为保护基类
采用保护继承方式时,基类的public和protected成员都成为派生类中的保护成员,基类的private成员成为派生类中的不可直接访问成员
保护成员:不能被类外访问,但可以被派生类的成员访问,既实现了数据隐藏,又方便继承,实现代码重用
派生类的对象不可以访问基类的公有成员
四、派生类的继承方式
在派生类中,成员有4种访问属性
公有的,派生类内和派生类外都可以访问,在其下一层公有派生类中可以访问
受保护的,派生类内可以访问,派生类外不能访问,在其下一层公有派生类中可以访问
私有的,派生类内可以访问,派生类外不能访问,在其下一层公有派生类中不可以访问
不可访问的,派生类内和派生类外都不能访问,在其下一层派生类中不可以访问
五、派生类的构造函数和析构函数
基类的构造函数不被继承,因此,对继承过来的基类成员初始化的工作也要由派生类的构造函数承担。
在派生类中声明构造函数时,只需要对本类中新增成员进行初始化,对继承来的基类成员的初始化,调用基类构造函数完成
派生类的构造函数需要给基类的构造函数传递参数
六、简单派生类的构造函数
在建立一个对象时执行构造函数的顺序
派生类构造函数先调用基类构造函数,再执行派生类构造函数本身
派生类对象释放时,析构函数的调用顺序
先执行派生类析构函数,再执行基类析构函数
七、有子对象的派生类的构造
子对象:类的数据成员中包含的类的对象
派生类构造函数的任务
对基类数据成员的初始化
对子对象数据成员的初始化
对派生类数据成员的初始化
派生类构造函数的一般形式
派生类构造函数名(总参数表列):基类构造函数名(参数表列),
子对象名(参数表列)
{派生类中新增数据成员的初始化;}
八、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值