《面向对象程序设计》ppt课件1 初中信息技术选修_第1页
《面向对象程序设计》ppt课件1 初中信息技术选修_第2页
《面向对象程序设计》ppt课件1 初中信息技术选修_第3页
《面向对象程序设计》ppt课件1 初中信息技术选修_第4页
《面向对象程序设计》ppt课件1 初中信息技术选修_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章面向对象程序设计 2 1面向对象程序设计思想2 2类2 3对象 2 1面向对象程序设计思想 面向对象程序设计的特点1 抽象性用C 语言可以将该图形描述如下 圆形 circle 数据抽象 doublex y r 行为抽象 setx sety setr draw 抽象是面向对象方法的核心 2 封装性3 继承性4 多态性多态性也是面向对象程序设计的重要特性之一 1 抽象 抽象是指从具体的实例中抽取出来共同的性质并加以描述的过程 它忽略了一个主题中与当前目标无关的那些方面 以便更充分地注意与当前目标有关的方面 抽象过程 先注意问题的本质及描述 其次是实现过程或细节 数据抽象 描述某类对象的属性或状态 对象相互区别的物理量 代码抽象 描述某类对象的共有的行为特征或具有的功能 抽象的实现 通过类的声明 抽象实例 钟表 数据抽象 intHour intMinute intSecond代码抽象 SetTime ShowTime 科目一考试驾驶员理论考试科目二考试场地考试科目三考试实际道路考试科目四考试安全文明驾驶常识考试2016年驾驶员试题网学车试题大全 抽象实例 钟表类 classClock public voidSetTime intNewH intNewM intNewS voidShowTime private intHour Minute Second 2封装 封装指的是将方法和数据放于同一对象中 使得对数据的存取只能通过该对象本身的方法来进行 主要思想是将数据 数据成员 及处理这些数据的相应函数 成员函数 封装到类class中 C 的一种新的定义数据类型的方法 而使用类的变量则称为对象 object 在对象内 只有属于该对象的成员函数才可以存取该对象的数据成员 这样 其他函数就不会破坏到它的内容 从而起到保护和隐藏数据的效果 将抽象出的数据成员 代码成员相结合 将它们视为一个整体 目的是增强安全性和简化编程 使用者不必了解具体的实现细节 而只需要通过外部接口 以特定的访问权限 来使用类的成员 实现封装 类声明中的 实例 3继承 继承是一种联结类与类之间的层次模型 它允许和鼓励类的重用 提供了一种明确表达共性的方法 一个新类可以从现有的类中派生 这个过程称为类继承继承性很好地解决了软件的可重用问题实现 声明派生类 4多态 多态性指的是同一消息被不同的对象接收后被解释为不同含义的能力 也就是一个接口名称具有多种功能 即同一名称 不同的功能实现方式 多态性语言具有语言灵活 抽象 行为共享 代码共享的优势 很好的解决了应用程序函数同名的问题 目的 达到行为标识统一 减少程序中标识符的个数 实现 重载函数和虚函数 2 2面向对象的基石 类 2 2 1从结构到类2 2 2类的定义2 2 3构造函数2 2 4析构函数 2 2 1从结构到类 1 结构体VC不仅提供了大量预先定义的数据类型 而且还支持自定义的数据类型 结构就是把相互关联的一些基本数据类型的元素组成一个新的独立统一体 例2 1 定义一个职工Employee结构数据类型 它包括姓名 工资 地址 移动电话 structEmployee charname 9 floatsalary charaddress 40 charmobile 12 定义一个结构体 事实上是定义了一种数据类型 程序并不会给类型分配内存 内存分配是发生在结构体变量上 include iostream h include string h voidmain structEmployeeEmployeeA strcpy EmployeeA name 灭绝师太 EmployeeA salary 168 47 strcpy EmployeeA address 峨眉山上 strcpy EmployeeA mobilecout EmployeeA name 已经领上工资了 其数目是 EmployeeA salary endl cout 要想拜谒她 请到 EmployeeA address 或直接传呼 EmployeeA mobile endl 例2 2 定义一个具体职工EmployeeA 并对该职工进行赋值 程序的主文件名为DefStru cpp 程序的运行结果是 灭绝师太已经领上工资了 其数目是168 47要想拜谒她 请到峨眉山上或直接传2 类类是从一个个具体的事物中把共同特征抽取出来形成的一个概念 它反映了事物之间的共性在C 中 在类的定义中 不仅有反映事物属性的成员变量 还有反映属性操作的成员函数 类一种自定义数据类型 2 2 2类的定义 在C 中类的定义方式为 class类名 private 私有数据及成员函数 protected 保护数据及成员函数 public 公有数据及成员函数 class是类定义符 类名是一种标识符 它的命名规则与变量名的命名规则相同 一对花括号内是类的说明部分 说明该类的成员 类的成员包括成员变量和成员函数两部分 上述在类的成员变量和成员函数前面出现的关键字 public 公有 private 私有 或protected 保护 表示成员的访问属性 在类中声明的成员变量若不特别指明 都被视为私有类型 私有类型的数据只允许类本身声明的函数对其进行存取 而类外部的任何函数都不能访问 公有类型的成员可以被任何函数来访问 它们是类与外部的接口 类的定义反映了对类的描述 定义一个类就是定义一种数据类型 把握类的定义首先要掌握类中包含反映事物属性的那些成员变量和反映事物操作的那些成员函数 例2 3 定义一个职工TEmployee类 它包括姓名 工资 地址 移动电话数据成员和两个成员函数 分别实现输入职工数据和显示职工属性 classTEmployee public voidinput char name floatsalary char address char mobile voiddisplay private charm name 9 floatm salary charm address 40 charm mobile 12 例2 4 定义一个交通工具类TVehicle 它具有轮子个数 载重两个数据成员和三个成员函数 分别实现输入交通工具的轮子和载重 取轮子个数和载重 classTVehicle public voidInitialize intwheels floatweight 交通工具的初始化intGetWheels void 取轮子个数floatGetWeight void 取载重private intm wheels 轮子个数floatm weight 载重 2 2 3构造函数 构造函数的作用是在对象被创建时使用特定的值构造对象 或者说将对象初始化为一个特定的状态 在对象创建时由系统自动调用 如果程序中未声明 则系统自动产生出一个默认形式的构造函数 允许为内联函数 重载函数 带默认形参值的函数 构造函数举例 classClock public Clock intNewH intNewM intNewS 构造函数voidSetTime intNewH intNewM intNewS voidShowTime private intHour Minute Second 构造函数举例 构造函数的实现 Clock Clock intNewH intNewM intNewS Hour NewH Minute NewM Second NewS 建立对象时构造函数的作用 intmain Clockc 0 0 0 隐含调用构造函数 将初始值作为实参 c ShowTime 拷贝构造函数 拷贝构造函数是一种特殊的构造函数 其形参为本类的对象引用 class类名 public 类名 形参 构造函数类名 类名 对象名 拷贝构造函数 类名 类名 类名 对象名 拷贝构造函数的实现 函数体 2 2 3析构函数 完成对象被删除前的一些清理工作 在对象的生存期结束的时刻系统自动调用它 然后再释放此对象所属的空间 如果程序中未声明析构函数 编译器将自动产生一个默认的析构函数 例2 5 一个包含构造函数和析构函数的例子 程序的主文件为ConstructorExam cpp include includeclassExl private intx public Exl cout Ex1类的对象建立 其构造函数被调用 n Exl cout Ex1类的对象撤消 其析构函数被调用 n voidsetdata inti x i 2 在类中定义成员函数setdata voidprint 类Exl定义结束 classEx2 inty public Ex2 cout Ex2类的对象建立 其构造函数被调用 n Ex2 cout Ex2类的对象撤消 其析构函数被调用 n voidsetdata intj y j j voidprint 类Ex2定义结束voidEx2 print cout classEx2 setw 6 y n 成员函数print 定义结束 voidmain Exls Ex2t s setdata 5 s print t setdata 5 t print 程序运行结果为 Ex1类的对象建立 其构造函数被调用Ex2类的对象建立 其构造函数被调用classExl 10classEx2 25Ex2类的对象撤消 其析构函数被调用Ex1类的对象撤消 其析构函数被调用 2 3对象 2 3 1对象的声明2 3 2对象的使用2 3 5对象的深入理解 2 3 2对象的使用 当声明了对象后 就可以使用该对象所隶属的类的公有 在public部分定义的 成员变量和成员函数 对象的使用 关键是使用对象所属类的成员函数 即熟悉该类都有哪些常用的成员函数 例2 6 建立一个日期类 并且主函数中使用其公有的成员函 主文件为DefObject cpp includeclassTDate public voidSetDate intyear intmonth intday m year year m mont

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论