《继承和派生类 》ppt课件

《继承和派生类 》ppt课件

ID:27304763

大小:977.51 KB

页数:53页

时间:2018-11-30

《继承和派生类 》ppt课件_第1页
《继承和派生类 》ppt课件_第2页
《继承和派生类 》ppt课件_第3页
《继承和派生类 》ppt课件_第4页
《继承和派生类 》ppt课件_第5页
资源描述:

《《继承和派生类 》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、VisualC++程序设计徐建南京理工大学计算机系【学习目标】◇理解基类和派生类的概念 ◇掌握继承的概念和用法【重点与难点】◇重点:继承的概念和使用;第十一章继承和派生类11.1继承与派生的基本概念11.2派生类的定义11.3派生类的构成11.4派生类成员的访问属性11.5派生类的构造函数和析构函数11.6多重继承11.1继承与派生的基本概念保持已有类的特性而构造新类的过程称为继承。定义新类时可以从一个或多个既有类中继承(即拷贝)所有的数据成员和函数成员,然后加上自己的新成员或重新定义由继承得到的成员。在已有类的基础上新

2、增自己的特性而产生新类的过程称为派生。被继承的已有类称为基类(或父类)派生出的新类称为派生类。继承与派生的例子计程车公共汽车旅游车汽车客车货车工程车继承与派生的基本概念继承形成一个层次结构(继承关系是相对的),一个类可由其它类通过继承得到,继承得到的新类称派生类(子类),被继承的称为基类(父类)。基类A派生类B单继承:只有一个基类的继承基类A基类B多重继承:有两个以上基类的继承派生类C基类与派生类的关系:派生类是基类的具体化基类是派生类的抽象具有继承关系的类之间必定拥有以下基本性质:①类间的共享特性;②类间的细微区别;③

3、类间的层次结构。使用继承的必要性若组成一个系统的对象类均为互不包含的独立对象类,则将不可避免出现对象属性和行为的重复冗余,并且这种无层次关系的对象类既不符合现实世界的对象关系,也使对象类的定义、创建、使用和维护复杂化继承为代码重用和建立类定义的层次结构提供方便有效的手段。例如公司的管理软件设计中需要定义一个客户类Customer和雇员类Employee:classCustomer{private:charname[15];//姓名intage;//年龄charsex[8];//性别doubleincome;//收入pub

4、lic:voidprint();//输出状态};classEmployment{private:charname[15];//姓名intage;//年龄charsex[8];//性别chardepartment[20];//部门doublesalary;//工资public:voidprint();//显示输出状态};两个类的数据成员和成员函数有许多相同之处。显然,如此定义两个类,造成的代码重复是不可避免的。如果将Customer和Employee类定义中的相同成员抽取出来,定义一个新类Person:classPerso

5、n{private:charname[15];//姓名intage;//年龄charsex[8];//性别public:voidprint();//显示输出状态};Customer和Employee都定义为Person的派生类,那些在Person中已经定义的共同数据成员在Customer和Employee中就不需要再定义了,只需要在各自的定义中增加自己的独有数据成员;而成员函数print也只需要在Person所定义的行为操作基础上重新定义自己的行为操作。classCustomer:publicPerson{private

6、:doubleincome;//收入public:voidprint();//显示输出状态};classEmployee:publicPerson{private:chardepartment[20];//部门doublesalary;//工资public:voidprint();//显示输出状态};显然通过继承可以从基类Person派生出一组具有层次结构的新类,构成一个公司管理系统的主要对象类型。例如:PersonEmployeeCustomerVendorSalariedHourlyPartnerClientPart

7、TimeFullTime使用继承机制和方法设计和建造类定义的层次结构对于建立一个面向对象的软件系统是不可缺少的。11.2派生类的定义定义派生类的一般格式:class<派生类名>:<继承方式1><基类名1>,<继承方式2><基类名2>,…,<继承方式n><基类名n>{<派生类新定义的成员>};派生类的定义与构成继承方式规定了派生类中对基类成员进行访问控制的方式。继承方式包括三种:public(公有继承)、private(私有继承)和protected(保护继承)。如果省略继承方式,缺省的类的继承方式是private。每一个

8、继承方式,只对紧随其后的基类进行限定。classCustomer:publicPerson{private:doubleincome;//新增加的数据成员“收入”public:voidprint();//重新定义基类的“显示状态”};从形式上比较,派生类定义与非派生类定义的差别仅在于定义首行中由“:”引出的派生表达式

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

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

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