面向对象程序设计(继承和派生).ppt

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

C++继承与派生信息技术学院齐文第四章派生类与继承

本章主要内容:继承的概念派生类派生类的构造函数与析构函数多继承基类和派生类的赋值规则综合举例第四章派生类、基类和继承性继承是面向对象程序设计最重要的概念之一;继承主要作用:提高软件的可重用性和可维护性,从而大大减少软件的代码量;继承的思想是学习面向对象程序设计应建立的最主要的思想——在程序设计时,面对多个实体,首先应分析的是能否采用继承机制处理。在C++面向对象程序设计中,实现继承的机制是通过派生得到的,即在已有类的基础上创建新类,从而在新类中继承原类的成员(数据及函数)。原类(被继承的类)称为基类,在基类的基础上创建的新类称为派生类。第一节继承的概念一、什么是继承继承是客观世界中实体间的一种关系。如:第一节继承的概念第一节继承的概念继承的特点:继承具有层次结构越在上面的类越具有普通性和共性,下层比上层更具体,越在下层越细化、专门化。继承具有传递性,即派生类能自动继承上层基类的全部数据结构及操作方法(数据成员及成员函数)。三、继承的分类及有关术语1、继承的分类单继承:只有一个基类的继承多继承:有二个或以上基类的继承第一节继承的概念2、继承的有关术语基类(Base)派生类(Derived)直接基类间接基类直接派生间接派生第二节单继承的派生类一、派生类的定义1、定义格式:第二节单继承的派生类#includeiostreamusingnamespacestd;classBase//基类Base的定义{private: floatx,y;public: Base(floata=0,floatb=0) {x=a;y=b;} voidprint(void) {coutx=x“y=yendl;}};第二节单继承的派生类classDerived:publicBase//派生类Derived的定义——注意定义方法{private:floatz;public: Derived(floata=0,floatb=0,floatc=0):Base(a,b) {z=c;}//派生类的构造函数定义 voidprint(void)//派生类的成员函数 {Base::print();//调用基类Base的成员函数print(); coutz=zendl; }};第二节单继承的派生类voidmain(void){Basea(10.0,20.0);Derivedb(10.0,20.0,30.0);a.print();b.print();}派生类的构成派生类的成员包括从基类继承过来的成员和自己增加的成员两大部分。见p139图4.2构造一个派生类一般包括3部分工作从基类接收成员(除构造函数和析构函数)调整从基类接收的成员改变成员的访问属性-通过继承方式实现对某些基类成员重定义,覆盖基类的同名成员增加新的成员(关键)保护成员protectd保护成员可以被本类的成员函数访问,也可以被本类的派生类的成员函数访问,而类以外的任何访问都是非法的。第二节单继承的派生类2、说明在定义派生类时用“:”将派生类与基类分开,构成类的层次结构;派生类与普通类的定义一样,仍然有数据成员与成员函数;派生类的构造函数中必须提供为基类数据成员进行初始化的参数表。格式:第二节单继承的派生类二、继承方式在定义派生类时,需要在基类名前加上派生方式,或称为继承方式,用于调整基类成员在派生类中的访问属性。㈠继承方式1、继承方式种类继承方式包括:公有继承(public)、私有继承(private)、保护继承(protected)等三种继承方式;其派生类分别称为公有派生类、私有派生类、保护派生类。2、不同继承方式下基类成员的访问特性第二节单继承的派生类第二节单继承的派生类⑴基类的私有成员在派生类的作用域内均不可见。无论那种继承方式,派生类的成员函数均不能直接使用基类的私有成员;派生类中可以通过调用基类中的公有成员函数访问基类中的私有数据成员。⑵保护成员私有继承:保护成员在派生类中变为私有成员——可以在派生类中直接访问;公有继承:保护成员在派生类中的访问权限不改变——可以在派生类中直接访问;第二节单继承的派生类⑶公有成员私有继承:公有成员在派生类中变为私有成员;保护继承:公有成员在派生类中变为保护成员公有继承:公有成员在派生类中的访问权限不改变。3、结论:?举例第二节单继承的派生类三、基类对象

文档评论(0)

iris + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档