5.2派生类的声明方式 四、关于继承的几点说明: 继承方式决定了子类对父类成员的访问权限,有3种继 承方式;默认为private,最常用的是public。 派生类自动具有基类的全部成员;但是,派生类对基类 成员的访问有所限制。 派生类可以定义自己的成员。 基类、派生类或父类、子类都是“相对”的。 派生类也可以被其他类继承,这个派生类同时也是基类。 构造函数和析构函数是不能继承的。 10
四、关于继承的几点说明: 继承方式决定了子类对父类成员的访问权限,有3种继 承方式;默认为private,最常用的是public。 派生类自动具有基类的全部成员;但是,派生类对基类 成员的访问有所限制。 派生类可以定义自己的成员。 基类、派生类或父类、子类都是“相对”的。 派生类也可以被其他类继承,这个派生类同时也是基类。 构造函数和析构函数是不能继承的。 5.2 派生类的声明方式 10
5.3派生类的构成 一、 派生类的成员包括从基类继承过来的成员、自 己增加的成员。 从基类继承过来的成员:体现基类与子类的共性; 新增加的成员:体现了子类的个性。 分析:在例5.1的派生类studenti中,有哪些从基 类person继承过来的成员,有哪些新增加的成 员? 11
11 5.3 派生类的构成 一、 派生类的成员包括从基类继承过来的成员、自 己增加的成员。 从基类继承过来的成员:体现基类与子类的共性; 新增加的成员:体现了子类的个性。 分析:在例5.1的派生类student中,有哪些从基 类person继承过来的成员,有哪些新增加的成 员?
5.3派生类的构成 二、如何构造派生类 类的继承并不是把基类成员和派生类新增成员简 单地放在一起。构造一个派生类包括: 1、从基类接收成员: 派生类把基类的全部成员接收过来。 不足之处在于会造成冗余,浪费存储空间和执行效率, 尤其是多次派生时。 不要随意地找一个基类去派生出某一个子类。 注意:基类的构造函数和析构函数不能继承。 12
12 5.3 派生类的构成 二、如何构造派生类 类的继承并不是把基类成员和派生类新增成员简 单地放在一起。构造一个派生类包括: 1、从基类接收成员: 派生类把基类的全部成员接收过来。 不足之处在于会造成冗余,浪费存储空间和执行效率, 尤其是多次派生时。 不要随意地找一个基类去派生出某一个子类。 注意:基类的构造函数和析构函数不能继承
5.3派生类的构成 二、如何构造派生类 2、调整从基类接收的成员:必须照单全收,但可以对接收 过来的成员作一些调整。如: 通过指定不同的继承方式,来改变基类成员在派生类中 的访问属性; 在派生类中声明一个和基类成员同名的成员,来“覆盖” 接收的基类成员。如果想覆盖成员函数,其函数名和参 数表必须相同,否则成为重载。 3、在派生类中增加新的成员:主要体现子类对基类的扩展。 4、构造函数和析构函数是不能继承的,要重新定义。 13
13 5.3 派生类的构成 二、如何构造派生类 2、调整从基类接收的成员:必须照单全收,但可以对接收 过来的成员作一些调整。如: 通过指定不同的继承方式,来改变基类成员在派生类中 的访问属性; 在派生类中声明一个和基类成员同名的成员,来“覆盖” 接收的基类成员。如果想覆盖成员函数,其函数名和参 数表必须相同,否则成为重载。 3、在派生类中增加新的成员:主要体现子类对基类的扩展。 4、构造函数和析构函数是不能继承的,要重新定义
5.4派生类成员的访问属性 一、 继承方式:亦称为访问控制,是对基类成员进 一步的限制。访问控制也有三种: 公有(public)方式,亦称公有继承 保护(protected)方式,亦称保护继承 私有(private)方式,亦称私有继承。 二、访问限定符有两方面含义: (1)派生类成员(新增成员)函数对基类(继承来的)成 员的访问。 (2)从派生类对象之外对派生类对象中的基类成员的访 问。 14
14 5.4 派生类成员的访问属性 一、继承方式:亦称为访问控制,是对基类成员进 一步的限制。访问控制也有三种: 公有(public)方式,亦称公有继承 保护(protected)方式,亦称保护继承 私有(private)方式, 亦称私有继承。 二、访问限定符有两方面含义: (1) 派生类成员(新增成员)函数对基类(继承来的)成 员的访问。 (2)从派生类对象之外对派生类对象中的基类成员的访 问