信息系统207-面向对象的编程OOP.ppt_第1页
信息系统207-面向对象的编程OOP.ppt_第2页
信息系统207-面向对象的编程OOP.ppt_第3页
信息系统207-面向对象的编程OOP.ppt_第4页
信息系统207-面向对象的编程OOP.ppt_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

面 向 对 象 的 编 程 Object Oriented Programming,王长军,什么是“对象”?,什么是“对象”?,OOA+OOD+OOP+OOT+ 世界太复杂了,简单点好,思考方法,归纳 从特殊到一般 从不同的 dogs 到词汇 “dog”,思考方法,演绎 从一般到特殊 从词汇“dog”,你可以区别出一个动物 是还是不是一条狗,好吧,我承认我们有点另类,但我们的确是狗,下面那个胖的不是!,面向对象,它是一种思考方法 世界上的任何东西都是一个对象; 任何系统都是由对象构成的 (当然系统也是一个对象); 系统的演化和开发就是通过系统内外的对象进行交互完成的,Alan Kay - “世界是面向对象的” 如果你对世界了解,那么你就了解了面向对象. 所以,面向对象是容易的.,世界上的任何东西都是一个对象,花, 树, 动物 学生, 教授 桌子, 椅子, 教室, 建筑 大学, 城市, 国家 世界, 宇宙 学科,如计算机,信息系统,数学,历史 ,任何系统都是由对象构成的,法律系统 文化系统 教育系统 经济系统 信息系统 计算机系统,系统开发就是定义对象间的交互,东华内部,东华外部,东华大学是由下列对象的交互构成的: 学生 教师 职员 上海市政府 教育部 .,设计方法学,面向对象首先是一种设计方法学(OOA/OOD) 对象是程序的构成模块 (接口对象 (editor, menu, file, etc), 数据管理对象 (db), etc.). 对象代表了在应用中对现实世界的抽象.,设计方法学,面向对象支持 归纳: 对象 - 类 需要OOA/OOD工具. 演绎: 类-对象 编程者需要学习有关类库的知识,类和对象,对象,归纳,异性之间进行符合道德和法律规范的以婚姻为目的的交往,社会现象,类,演绎,对象,类和对象,类和对象,类和对象,对象,归纳,异性之间进行符合道德和法律规范的以婚姻为目的的交往,社会现象,类,演绎,对象,合理设计类以适应需求的变化是多么的重要!,出现了,怎么办?,允许对类进行扩充继承,对象,归纳,两人之间进行符合道德和法律规范的以婚姻为目的的交往,社会现象,基类,演绎,对象,两人之间进行符合道德和法律规范的以婚姻为目的的交往男女之间,继承,两人之间进行符合道德和法律规范的以婚姻为目的的交往同性之间,对象,演绎,继承类,将“继承” 进行到底-MFC,从结构化方法到面向对象的方法,从结构化方法到面向对象的方法,结构化方法,Win32,面向对象,Main Program,Procedure,Main Program,Data,从结构化方法到面向对象的方法,结构化方法,Win32,面向对象,消息驱动,程序设计=算法+数据结构,程序设计=对象+消息,过程驱动,算法+数据结构,面向对象的编程,在面向对象编程中,我们直接发送一个消息,而不是去调用一个程序来实现一个功能. 粗略地说,每一个对象实现了自己的模块,面向对象的编程,对象是由抽象数据类型来的 面向对象编程是对象交互的一个网络,每一个对象保存自己的状态 程序中的对象通过发送消息进行交互,面向对象的编程,每一个对象负责正确地初始化和销毁自身. 相应地,对对象而言,我们就不需要显式地创建和生成过程,模块 信息隐藏 数据封装 抽象数据类型 对象,面向对象的演化,Data Methods,记住,封装(Data & Operations)- 信息隐藏的技术对象的用户不能看到对象的数据和操作的细节. 数据抽象 - 从对象中发现类的过程 抽象数据类型- 类,面向对象编程语言就是能够很方便地支持面向对象概念的语言 Smalltalk:1972-1980. C+:1986. Java:1992 (Smalltalk + C+). 其它: Effile, Objective-C, Ada, .,面向对象的语言,Smalltalk 是一个纯的面向对象语言. 多数人认为Smalltalk 程序比 C+ 程序开发起来更快.,Smalltalk,丰富的类库,通过继承实现重用 Smalltalk 拥有动态开发环境。它不是编译的,但是 C+ 是编译的. 这使得开发过程更可变,你可以方便地对类和各种情形进行修改,Smalltalk,编程者并不能象在C+中那样立即掌握OO概念. 正因为如此,掌握Smalltalk需要更多地时间. 但是多数时间是花在学习面向对象方法学和技术上,而不是编程语言上的。实际上,Smalltalk 比C和C+更为简单.,Smalltalk,C+ 是 C的面向对象版本. 它与 C是一致的 (它实际上是C的超集), 所以现存的 C 代码能够包含在 C+ 程序中. C+ 程序速度快,效率高. 这些特性已经使C成为很流行的语言.,C+,它牺牲了一些灵活性以提高效率. C+ 采用编译时绑定的方法。这使得程序运行时的效率很高,代码也较小,但是它影响了重用类的某些能力.,C+,C+ 已经非常流行,绝大多数新的 C 编译器实际上是 C/C+ 编译器. 但是,如果想进行面向对象编程,你必须用C+编程(思考),而不是C. 这些都将对有经验的C编程者带来挑战。他们认为他们是在运用C+编程,但实际上只用了很少的面向对象特点。,C+,C+,C+ 是一个优秀的语言. 利用它, 你可以编出世界上最好的程序! C+ 是一个差的语言. 使用它,你也可能编出世界上最差的程序 所以,在学习和使用它时,注意它的OO特性和非OO特性。,Java是 C+ 和Smalltalk古怪的混合. 它具有 C+的语法, 使它容易学习(也许是难以学习,这依赖于学习者的经验). 它具有Smalltalk的结构, 如虚拟机和字节码.,Java,C+的改进: 取

温馨提示

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

评论

0/150

提交评论