第8章 继承与多态性

第8章 继承与多态性

ID:21866613

大小:687.00 KB

页数:59页

时间:2018-10-20

第8章 继承与多态性_第1页
第8章 继承与多态性_第2页
第8章 继承与多态性_第3页
第8章 继承与多态性_第4页
第8章 继承与多态性_第5页
资源描述:

《第8章 继承与多态性》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C++程序设计语言第8章继承与多态性学好程序设计的根本方法是程序!写第8章继承与多态性8.1继承与派生8.2冲突8.3虚函数与多态性8.4习题●实验●课堂练习8.1继承与派生继承性是通过扩展类,实现代码复用,以减少冗余代码。多态性则是通过虚函数,实现接口复用。8.1.1派生类1.派生类概念将类teacher和类student中的重复属性抽出来作为基类people;在类people的基础上,加上成员wage构成教师类teacher,加上成员score构成学生类student。教师类: classteacher

2、{charname[10];//姓名intyear,month,day;//生日floatwage;//工资};学生类: classteacher{charname[10];//姓名intyear,month,day;//生日floatscore;//成绩};8.1.1派生类继承机制是以已有的类为基础,定义新类。已有的类称为基类或父类,新定义的类称为派生类或子类。基类(父类)派生类(子类)student原有属性:nameyear,month,dayfloatwageteacherpeople增加属性:wag

3、e增加属性:score8.1.1派生类2.定义派生类定义类的基本格式为:class类名{成员列表};(1)派生方式的关键字与类中成员的访问权限相同,public、private和protected方式的派生分别称为公有派生、私有派生和保护派生。(2)缺省派生方式为私有派生。(3)类体中新增成员与基本类中成员的定义方法相同。派生:派生方式基类名新增派生8.1.1派生类例8-1定义类people,包含数据成员姓名、出生日期;定义教师类teacher,包含数据成员姓名、出生日期、工资和工作部门。程序设计 ①以类p

4、eople为其类,派生出类teacher。 ②类people中包含公同成员姓名和出生日期。 ③类teacher类体中增加 基类中没有的成员工资和工作部门。源程序代码classpeople{ charname[10];//姓名intyear,month,day;//生日};classteacher:publicpeople{ floatwage;//工资public: chardepartment[20];//部门};:派生方式基类8.1.2派生成员及其访问权限1.派生类中的成员 派生类中的成员包括: (1)

5、派生成员——从基类继承来的成员; (2)新增成员——派生类类体中列出的成员。派生类除了从基类继承数据成员外,还继承除构造函数和析构函数以外的其他函数成员。类teacher数据成员新增成员(teacher::)派生成员(people::)nameyearmonthdaywagedepartment访问权限由派生类定义时成员属性的关键字说明访问权限?8.1.2派生成员及其访问权限2.派生成员的访问权限 由其在基类中的原有属性和派生方式共同决定。具体为: (1)公有派生时,保持基类中的原有属性不变。 (2)私有派

6、生时,均变为私有成员。 (3)保护派生时,基类中的原有公有和保护成员,变为保护成员,原有私有成员仍为私有成员。公有派生时派生成员访问权限基类成员 权限派生成员 权限派生类内部 访问方式派生类外部 访问方式公有成员公有成员直接访问直接访问保护成员保护成员直接访问间接访问私有成员私有成员间接访问间接访问8.1.2派生成员及其访问权限私有派生时派生成员访问权限基类成员 权限派生成员 权限派生类内部 访问方式派生类外部 访问方式公有成员私有成员直接访问间接访问保护成员私有成员直接访问间接访问私有成员私有成员间接访问

7、间接访问直接访问是指直接使用成员;间接访问是指通过公有成员函数间接使用成员。classA{inta; public:intget(){returna;} };类中aget()类外At;t.at.get()直接访问:直接访问:访问成员a8.1.2派生成员及其访问权限保护派生时派生成员访问权限基类成员 权限派生成员 权限派生类内部 访问方式派生类外部 访问方式公有成员保护成员直接访问间接访问保护成员保护成员直接访问间接访问私有成员私有成员间接访问间接访问在派生类内部能否访问派生成员,由派生成员在基类中的原有属性

8、决定,与派生后的属性无关,即派生类内部可直接访问基类原有的非私有成员,间接访问私有成员;在派生类外部能否访问派生成员,则要看派生后的属性,即派生后仍为公有的可直接访问,而非公有的只能间接访问。8.1.2派生成员及其访问权限例8-2编程实现公有派生时对派生成员的访问。程序设计 ①定义基类Base三种不同访问属性的成员x(公有)、y(私有)和z(保护)。 ②在类Base的派生类Derived中,直接使用x和z,间接使

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。