第7章 C++面向对象.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章C面向对象

本章目标 理解面向对象编程思想 理解继承和多态的概念 掌握类和对象的关系 了解静态变量、静态成员函数的使用 了解继承的实现和使用 了解多态的实现和使用 类与对象 面向对象 面向对象程序设计( OOP,Object-oriented programming)是当前主流的程序设计范型。 计算机程序是由单个能够起到子程序作用的单元或对象组合而成 。 为了实现整体运算,每个对象都能够接收信息、处理数据和向其它对象发送信息。 类与对象 面向对象的概念 类(Class):同种对象的集合与抽象,其实就是一种数据类型 对象(Object):各种抽象或具体的实体、事物 二者关系 类是对象的概化、统称,是对象的模板 对象是类的个体、实例(Instance) 人(类)——张三、李四(对象/实例) 工具箱中的控件(类)——窗体上的控件(对象/实例) 设计图纸(类)——房子(对象/实例) 类与对象 面向对象的概念 OOP编程语言的三个基本特征 封装 继承 多态 类与对象 面向对象的概念 封装 把对象的属性(状态)和方法(行为)结合在一起,尽可能隐藏对象内部细节,形成一个不可分割的独立单位(即对象),对外形成一个边界,只保留有限的对外接口使之与外部发生联系。 作用:数据隐藏特性提升了系统安全性,使软件能够局部化,减少查错和排错的难度,避免错误的交叉感染。 类与对象 面向对象的概念 继承 软件重用的一种形式,它通过吸收现有类的属性和方法,并增加新功能或修改现有功能来构建新类。 作用:不仅节省了程序开发时间,还促进了高质量软件的复用。 类与对象 面向对象的概念 多态 在父类中定义的属性或方法被子类继承之后,可以具有不同的表现行为。 提高了程序的抽象程度和简洁性,最大限度降低了类和程序模块之间的耦合。 类与对象 类的定义——除系统定义的类外,用户可以自定义类,本质上是一种自定义的数据类型 类与对象 类的定义 简单例子 类与对象 类的定义 访问权限 类与对象 类的定义 类中声明的变量,就是属性 类中声明的函数,一般就是成员函数 一般由两个文件来实现 类的定义文件——头文件(.h) 类中成员函数的实现——源文件(.cpp) 成员函数前都有类名加两个冒号(::),表明类的所属关系 思考 思考 类与对象 构造函数与类的实例化 定义类→创建类的对象(即对该类实例化) 实例化类时,如需进行属性的初始化,可通过构造函数完成 类与对象 构造函数 声明格式 思考 思考 思考 类与对象 构造函数 构造函数与一般函数不同点 构造函数名与所属类的名称完全一样 构造函数没有返回值 构造函数可以重载,一旦实例化对象,系统将根据传递参数调用相应构造函数 若类中未定义构造函数,在实例化对象时,系统自动调用默认的构造函数 若类中定义了构造函数,默认的构造函数将不在起作用 类与对象 创建对象的两种方法 栈对象 class_name obj_name; //调用不带参数的构造函数,或者默认的构造函数 class_name obj_name(argu_list);//调用带参数的构造函数 栈对象无需delete调用析构函数释放对象 堆对象 class_name *obj_name=new class_name; class_name *obj_name=new class_name(argu_list) 堆对象需要delete调用析构函数释放对象 类与对象 析构函数 作用与构造函数相反,通常用于释放分配给对象的内存空间 与类同名,但要前缀波浪号“~” 无返回值,无参数,不能重载 一个类中只能有一个析构函数 类与对象 析构函数 声明格式 思考 思考 思考 实验 见实验报告 类继承 继承是面向对象编程的核心技术 运用继承可以创建一个通用类,它定义了一系列相关对象的一般特性,该类可以被更具体的类继承,从而允许通过增加、修改或替换给定类中的方法对类进行扩充,以适应不同的要求。 类继承 基类/父类: 被继承的类 派生类/子类: 继承基类的类 类继承 派生类/子类的定义 类继承 派生类对基类的访问权限 public继承 保持基类成员的访问权限 protected继承 基类的public和protected成员为派生类的protected成员 private继承 基类所有成员在派生类中为private成员 思考 类继承 派生类对象的构造和实例化 派生类继承了基类的成员,所以在实例化派生类对象时,必须调用基类的构造函数 若基类无构造函数,则调用默认的构造函数 若基类同时具有无参数、有参数构造函数,派生类对象实例化时,若不指定,则调用无参数的构造函数 若基类只有有参数构造函数,派生类对象实例化时必须指定哪个有参数构造函数 思考 代码详见Person.doc 类继承 派生类对象的析构 代码详见Person.do

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档