下载此文档

面向对象程序设计的基本概念.doc


文档分类:IT计算机 | 页数:约10页 举报非法文档有奖
1/10
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/10 下载此文档
文档列表 文档介绍
面向对象程序设计的基本概念
 
面向对象程序设计的基本概念2010-04-14 20:01前言:面向对象程序设计(Object-Oriented Programming,以下简称OOP)是一种起源于六十年代的Simula语言,发展已经将近三十年的程序设计思想。其自身理论已经十分完善,并被多种面向对象程序设计语言(Object-Oriented Programming Language,以下简称OOPL)实现。如果把Unix系统看成是国外在系统软件方面的文化根基,那么Smalltalk语言无疑在OOPL领域和Unix持有相同地位。由于很多原因,国内大部分程序设计人员并没有很深的OOP以及OOPL理论,很多人从一开始学****到工作很多年都只是接触到c/c++,java,vb,delphi等静态类型语言,而对纯粹的OOP思想以及作为OOPL根基的Smalltalk以及动态类型语言知之甚少,不知道其实世界上还有一些可以针对变量不绑定类型的编程语言。而这些对比却是深刻理解OO理论的重要部分,而国内这方面的资料也为数不多。故把自己的一些OO学****心得写下来做为一个系列文章(一共三篇,第一篇描叙OOP的一些基本但容易被误解的理论,第二篇主要说明各种OOPL演化和发展以及对于OOP理论的支持,第三篇主要是说模式和组件在OOP中的地位以及展望OOP的未来),由于文章描叙的只是自己对于OOP/OOPL的理解,错误以及浅薄之处在所难免,只是希望对大家能起到抛砖引玉的作用。
浅析OO的基石
从抽象说起
Booch曾经在他自己的OO领域内的名著[Booch 94]中开篇就论叙到了复杂性是软件开发过程中所故有的特质。而人们处理复杂性的最根本武器就是抽象。广义的抽象代表的是对复杂系统的简化描叙或规格说明,为了突出系统的本质属性而故意忽略其中的非实质性细节。"一个概念只有当能被最终用来实现的机制独立的描叙,理解,分析时,才将这个概念限定为抽象的概念"。而Booch也给出了他心目中关于OO领域内的狭义抽象定义:"抽象表示一个对象与其他所有对象相区别的基本特征,因此提供了同观察者角度有关的清晰定义的概念界限。"因此,根据不同观察角度,我们可以针对OOP给出不同级别的抽象层次。通常,面对一个典型的面向对象程序,
[Budd 2002]将其分成五个抽象层,分别覆盖了OOP中的分析,设计与编程的各个阶段:
1,最高级别的抽象层上,程序被看成是由很多相互作用并且遵守契约的对象所组成的对象集合。对象之间相互合作完成程序的计算任务。这个抽象级别上的典型代表就是设计模式思想(Design Pattern)。
2,第二个抽象层就是一个对象集单元,也就是一群定义之间有相互联系的对象,在程序设计语言级别来看Java中是packages,C++中是name space。这个抽象级别上的典型代表就是模块化思想(Modularity)。
3,第三个抽象层所代表的是典型的OOP模式:客户/服务器模型,这主要是用来抽象两个对象之间的互交过程。在这个抽象级别上的典型代表就是对象之间的消息机制(Message Passing)。
4,第四个抽象层就是针对一组相似对象定义一个类作为生成对象的模板,类定义了对象的对外使用接口以及继承对象所需的内部继承接口,而这个抽象层次的典型代表就是接口编程(Interf

面向对象程序设计的基本概念 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数10
  • 收藏数0 收藏
  • 顶次数0
  • 上传人zhongxinado
  • 文件大小200 KB
  • 时间2021-01-06