第4章 面向对象(继承)ppt课件.ppt

第4章 面向对象(继承)ppt课件.ppt

ID:58701011

大小:388.00 KB

页数:60页

时间:2020-10-04

第4章 面向对象(继承)ppt课件.ppt_第1页
第4章 面向对象(继承)ppt课件.ppt_第2页
第4章 面向对象(继承)ppt课件.ppt_第3页
第4章 面向对象(继承)ppt课件.ppt_第4页
第4章 面向对象(继承)ppt课件.ppt_第5页
资源描述:

《第4章 面向对象(继承)ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、面向对象(继承)第四章目标继承访问控制继承中的构造函数和析构函数函数覆盖2什么是继承,为什么要继承继承是事物发展的过程,通过继承,使后代继承了父辈的一切优秀的品质,并在该品质上又进一步发展形成了超越父辈的品质和能力机动性机动性,超音速机动性,超音速,隐型机动性,超音速,隐型,超视距3继承的意义人类的发展离不开继承,如果不使用继承,则知识无法传承、经验无法延续,更不要说站在前人的肩膀上再进一步的愿望。继承-----获得前人的知识和经验继承-----在前人的基础上继续发展4继承的概念(一)继承是现实生活中的经

2、常使用的术语.例如:孩子继承其父母的特征.继承意味着某人或某物从另一个人或实体中派生出一组属性.类似的,在C++中一个类也可以从另一个类继承或派生,从一个旧类派生一个新类的过程称为继承5继承的概念(二)继承或派生另一个类的类叫派生类,而派生出这个派生类的类叫作基类.派生类的每个实例包括了基类的大多数属性;因此,派生类与其基类相比有更大的属性集.然而,派生类能够修改基类的部分或者全部属性.因此,继承使代码的重用性更加容易实现6继承的概念(三)一旦定义并测试过一个基类,就不需要修改它了,但是其他程序员可以调整

3、它以满足他们的需要.从现有类派生一个新类允许重新定义其基类的成员函数,还允许向派生类添加新成员,基类不需要重新编译,它在继承的过程中保持不变,重用现有代码可以节省时间和精力,还能保证程序的可靠性7继承的特征继承是允许重用现有类来构造新类的特性基类方法和属性派生类基类属性基类方法+ 附加属性附加方法8优点(一)使代码具有可重用性-通过继承类库拥有类库的能力--用别人的类为基础创建自己需要的类,可以省时省力可以重定义基类的成员函数,实现新的功能--对别人的类中的不足重新实现,但是又不改变别人的类.9优点(二)

4、向派生类添加新成员,实现功能发展和扩展--基于对别人的类的基础上,实现新的类,当然,新类必须具备上一代类所不具备的能力不需要了解核心技术的细节,就能拥有别人的能力--简单的继承别人的类,可以不需要了解其功能的实现细节,就可以直接使用10单一继承只拥有一个父类的新类的创建过程从一个现有基类创建新类的过程父类子类父类单一继承多重继承11单一继承处理某企业中雇员的程序EmployeeManager基类派生类(新类)派生自使用一个箭头从派生类指向基类表示派生类引用基类的函数和数据,而基类没有访问派生类的权限12基

5、类和派生类派生类的声明必须指定基类的名称classManager:publicEmployee任何类都能用作基类基类分为两种类型直接基类间接基类13直接基类和间接基类直接基类classA{};classB:publicA//A是B的直接基类{};间接基类classA{};classB:publicA{};classC:publicB//A是C的间接基类{};14继承的类型继承多级继承单一继承多重继承层次继承15单一继承ABclassA{…}; classB:publicA{…};16多级继承ABCclas

6、sA {…}; classB:publicA {…}; classC:publicB{…};17层次继承ABCDEclassA {…}; classB:publicA {…}; classC:publicA {…};classD:publicC{…};classE:publicC{…};18多重继承classA {…}; classB {…}; classC:publicA,publicB{…};ABC19继承特性--访问控制派生类的函数能够访问基类的保护和公有成员派生类的对象公有派生的类的对象能够访问基

7、类的公有成员公有派生的类的对象不能访问基类的私有和保护成员20基类(Employee类)#includeclassEmployee{private:intprivA;protected:intprotA;public:intpubA;};21派生类/子类(Manager类)classManager:publicEmployee{//这个派生类中没有自己的成员属性public:voidfn(){inta;a=privA;//错误a=protA;a=pubA;}};22基类与派生类的访

8、问控制voidmain(){Employeeemp;//基类的对象emp.privA=1;//错误emp.protA=1;//错误emp.pubA=1;Managermgr;//派生类的对象mgr.privA=1;//错误mgr.protA=1;//错误mgr.pubA=1;}23可访问性基类的成员函数或数据何时能够被派生类的对象使用无论类成员是私有、公有还是保护,它们总是能够由自身的成员函数访问在类的外部定义的对象只能访问类

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

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

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