网站大量收购独家精品文档,联系QQ:2885784924

继承(inheritance):继承是面向对象程序设计使代码可以复.ppt

继承(inheritance):继承是面向对象程序设计使代码可以复.ppt

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

例题:由“人”类派生出“学生”类。我们希望基类和派生类共享相同的公有方法,因此,只能采用公有派生来实现。 void SetName(string); //修改名字 string GetName(){return Name;} //提取名字 void SetSex(Tsex sex){Sex=sex;} //修改性别 Tsex GetSex(){return Sex;} //提取性别 void SetId(string id){IdPerson=id;}//修改身份证号 string GetId(){return IdPerson;} //提取身份证号 void SetBirth(int birthday) {Birthday=birthday;} //修改生日 int GetBirth(){return Birthday;} //提取生日 void SetHomeAdd(string ); //修改住址 string GetHomeAdd(){return HomeAddress;} //提取住址 void PrintPersonInfo(); //输出个人信息 }; * 继承(inheritance): 继承是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能。这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构。体现了由简单到复杂的认识过程。   通过继承(inheritance)可对类(class)分层, C++通过类的派生(class derivation)的机制来支持继承。被继承的类称为基类(base class)或超类(superclass),新的类为派生类(derived class)或子类(subclass)。 派生反映了事物之间的联系,事物的共性与个性之间的关系。 派生与独立设计若干相关的类,前者工作量少,重复的部分可以从基类继承来,不需要单独编程实现代码复用。 继承与派生的概念 虚基类 多重继承与派生类成员标识 派生类应用讨论 派生类的构造函数与析构函数 一、类的派生与继承 二、公有派生与私有派生 继承与派生的概念 1、派生类的定义格式: class 派生类名:访问限定符 基类名1,访问限定符 基类名2,……,访问限定符 基类名n { private: 成员表1; //派生类增加或替代的私有成员 public: 成员表2; //派生类增加或替代的公有成员 protected: 成员表3;//派生类增加或替代的保护成员 };//分号不可少 其中基类1,基类2,……是已声明的类。 在派生类定义的类体中给出的成员称为派生类成员,它们是新增加成员,它们给派生类添加了不同于基类的新的属性和功能。派生类成员也包括取代基类成员的更新成员。 一、类的派生与继承 基类1 基类2 …… 基类n 派生类1 派生类2 基类 派生类1 派生类2 (a)多重继承 (b)单继承 多重继承与单继承 一个基类可以直接派生出多个派生类 派生类可以由多个基类共同派生出来,称多重继承。 2、多重继承: 如果一个派生类可以同时有多个基类,称为多重继承(multiple-inheritance)。 3、单继承: 派生类只有一个直接基类称为单继承(single-inheritance)。 在派生过程中,派生出来的新类同样可以作为基类再继续派生出更新的类,依此类推形成一个层次结构。直接参与派生出某类称为直接基类,而基类的基类,以及更深层的基类称为间接基类。   类族: 同时一个基类可以直接派生出多个派生类。这样形成了一个相互关联的类族。如MFC就是这样的族类,它由一个CObject类派生出200个MFC类中的绝大多数。 4、多层次继承: 一、类的派生与继承 1)、吸收基类的成员 2)、改造基类成员 3)、发展新成员 4)、重写构造函数与析构函数 不论是数据成员,还是函数成员,除构造函数与析构函数外全盘接收 声明一个和某基类成员同名的新成员,派生类中的新成员就屏蔽了基类同名成员称为同名覆盖(override) 派生类新成员必须与基类成员不同名,它的加入保证派生类在功能上有所发展。 5、派生编程步骤: 编制派生类时可分四步 注意: 在第二步中,新成员如是成员函数,参数表也必须一样,否则是重载。 第三步中,独有的新成员才是继承与派生的核心特征。 第四步是重写构造函数与析构函数,派生类不继承这两种函数。不管

文档评论(0)

天马行空 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档