第一讲 面向对象概述.ppt_第1页
第一讲 面向对象概述.ppt_第2页
第一讲 面向对象概述.ppt_第3页
第一讲 面向对象概述.ppt_第4页
第一讲 面向对象概述.ppt_第5页
已阅读5页,还剩11页未读, 继续免费阅读

下载本文档

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

文档简介

1、.第一讲 面向过程概述,1. 面向过程程序设计OPP,Oriented Procedural Programming 将复杂过程简单的按功能分层,从而解决问题。 结构化: 描述任何实体的操作的序列只需三种基本控制结构 模块化设计: 程序设计中各个过程体和组成部分用模块表示 过程化设计方法: 自顶向下,逐步细化,函数,2. 面向对象程序设计OOP,面向对象的编程思想力图使在计算机语言中对事物的的描述与现实世界中该事物的本来面目尽可能的一致。 类(class)和对象(object) 类是对一类事物描述,是抽象(abstract)的、概念上的定义; 对象是实际存在的该类事物的每个个体,也称实例(in

2、stance)。,对象 = 算法 数据结构,程序 = (对象+对象+对象+) + 消息,程序 = 算法 + 数据结构 + 程序设计方法 + 语言工具和开发环境,发送消息,3.面向过程与面向对象,面向对象程序设计,类 class 类封装了一组数据结构和作用于该数据结构的一组方法. 面向对象语言必需提供的用户定义的数据类型 把具有相同属性的事物划分为一类,它将具有相同状态、操作和访问机制的多个对象抽象成为一个对象类。,面向对象程序设计,对象 object 构成世界的一个独立单位,它具有自己的静态特征(状态)和动态特征(操作)。 静态特征即可以用某种数据来描述的特征 动态特征即对象所表现的行为或对象

3、所具有的功能。 类给出了属于该类的全部对象的抽象定义,对象则是符合这种定义的一个实体。一个对象又称类的一个实例。,Class & Object,属性 数据,行为 方法,实例化,Class & Object,抽象,问题:输入圆的半径,求圆的周长和面积,数据描述: 半径,周长,面积均用实型数表示 数据处理: 输入半径 r; 计算周长 = 2*r ; 计算面积 = pi * r2 ; 输出周长,面积;,结构化编程的方法,一个简单的C+程序,用面向对象方法编程,分析,“圆”是抽象的类类型,建立具体的圆(对象),半径?,圆的周长 ? 圆的面积 ?,实例化,问题:输入圆的半径,求圆的周长和面积,用面向对象

4、方法编程,求圆的周长和面积,分析,圆类 数据成员 半径 成员函数 置半径值 求圆的半径 求周长 求面积,实例化,面向对象 vs 面向过程设计,1. 抽象(abstraction) 抽象的过程是将有关事物的共性归纳、 集中的过程。 抽象的作用是表示同一类事物的本质。 C+中的数据类型就是对一批具体的数的抽象。 对象是具体存在的,可以将其抽象为一种类型。 类是对象的抽象,而对象则是类的特例, 或者说是类的具体表现形式。,面向对象程序设计,2. 封装(encapsulate) 把全部属性和全部行为封装在一起,形成一个不可分割的独立单位(即对象)。 信息隐蔽(information hiding) 对

5、象的外部不能直接地存取对象属性,只能通过几个允许外部使用的服务与对象发生联系。 对象间通过发送消息进行交互.,接受消息 的对象,发送消息 的对象,发送消息,服务器 客户,面向对象程序设计,3. 继承 (inheritance) 软件重用”(software reusability) 采用继承的方法可以很方便地利用一个已有的类建立一个新的类。 类与类之间可以组成继承层次 一个类的定义(派生类)可以定义在另一个已定义类(基类 )的基础上。派生类可以继承基类中的属性和操作,也可以定义自己的属性和操作。,面向对象程序设计,4. 多态性(polymorphism) 由继承而产生的相关的不同的类,其对象对同一消息会作出不同的响应。多态性增加程序的灵活性。 对象的多态性是指在一般类中

温馨提示

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

最新文档

评论

0/150

提交评论