• 学前教育
  • 小学学习
  • 初中学习
  • 高中学习
  • 语文学习
  • 数学学习
  • 英语学习
  • 作文范文
  • 文科资料
  • 理科资料
  • 文档大全
  • 当前位置: 雅意学习网 > 理科资料 > 正文

    面向对象程序设计研究 面向对象的程序设计语言是

    时间:2019-02-11 03:17:05 来源:雅意学习网 本文已影响 雅意学习网手机站

      摘 要: 本文从程序设计语言的发展,面向过程的程序设计和面向对象的程序设计对比,以及面向对象的程序设计的思想和特征等方面,对面向对象的技术作了阐述,总结了面向对象程序设计的优越性。
      关键词: 面向对象程序设计 程序设计语言 面向对象技术
      
      1.引言
      
      面向对象程序设计技术将对象作为程序的基本结构单元,对象将数据及对该数据的操作封装在一起成为一个相对独立的实体,以简单的接口对外提供服务。面向对象程序设计语言通过提供继承与派生、多态性、模板等概念和语法,使开发者能最大限度地利用已有的程序代码,大大提高程序开发的效率。
      
      2.程序设计语言
      
      程序设计语言是一组用来定义计算机程序的语法规则。它是一种被标准化的交流技巧,用来向计算机发出指令。计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。程序设计语言原本是被设计成专门使用在计算机上的,但它们也可以用来定义算法或者数据结构。正是因为如此,程序员才会试图使程序代码更容易阅读。设计语言往往使程序员能够比使用机器语言更准确地表达他们所想表达的目的。对那些从事计算机科学的人来说,懂得程序设计语言是十分重要的,因为在当今所有的计算都需要程序设计语言才能完成。在过去的几十年间,大量的程序设计语言被发明、被取代、被修改或组合在一起。高级程序设计语言(也称高级语言)的出现使得计算机程序设计语言不再过度地倚赖某种特定的机器或环境。这是因为高级语言在不同的平台上会被编译成不同的机器语言,而不是直接被机器执行。最早出现的编程语言之一FORTRAN的一个主要目标,就是实现平台独立。随着C、PASCAL、FORTRAN等结构化高级语言的诞生,程序员可以离开机器层次,在更抽象的层次上表达意图。由此诞生的三种重要控制结构,以及一些基本数据类型都能够很好地开始让程序员以接近问题本质的方式去思考和描叙问题。随着程序规模的不断扩大,在上世纪60年代末期出现了软件危机,在当时的程序设计范型中都无法克服错误随着代码的扩大而级数般地扩大,以至无法控制,这个时候就出现了一种新的思考程序设计方式和程序设计范型――面向对象程序设计,由此也诞生了一批支持此技术的程序设计语言,比如EIFFEL、C++、JAVA,这些语言都以新的观点去看待问题,即问题就是由各种不同属性的对象,以及对象之间的消息传递构成。面向对象语言由此必须支持新的程序设计技术,比如:数据隐藏、数据抽象、用户定义类型、继承、多态等。
      
      3过程式设计与面向对象设计
      
      面向对象技术最初是从面向对象的程序设计开始的,它的出现以60年代的Simula语言为标志。
      3.1过程式设计
      总的来说,过程式的程序设计是一种自上而下的设计方法,设计者用一个main函数概括出整个应用程序需要做的事,而main函数由对一系列子函数的调用组成。对于main中的每一个子函数,都又可以再被精炼成更小的函数。重复这个过程,就可以完成一个过程式的设计。其特征是以函数为中心,用函数来作为划分程序的基本单位,数据在过程式设计中往往处于从属的位置。过程式设计的优点是易于理解和掌握,这种逐步细化问题的设计方法和大多数人的思维方式比较接近。然而,过程式设计对于比较复杂的问题,或是在开发中需求变化比较多的时候,往往显得力不从心。这是因为过程式的设计是自上而下的,这要求设计者在一开始就要对需要解决的问题有一定的了解。在问题比较复杂的时候,要做到这一点会比较困难,而当开发中需求变化的时候,以前对问题的理解也许会变得不再适用。事实上,开发一个系统的过程往往也是一个对系统不断了解和学习的过程,而过程式的设计方法忽略了这一点。
      3.2面向对象设计
      面向对象是一种自下而上的程序设计方法。不像过程式设计那样一开始就要用main概括出整个程序,面向对象设计往往从问题的一部分着手,一点一点地构建出整个程序。面向对象设计以数据为中心,类作为表现数据的工具,是划分程序的基本单位。而函数在面向对象设计中成为了类的接口。面向对象设计自下而上的特性,允许开发者从问题的局部开始,在开发过程中逐步加深对系统的理解。这些新的理解,以及开发中遇到的需求变化,都会再作用到系统开发本身,形成一种螺旋式的开发方式。在这种开发方式中,对于已有的代码,常需要做代码重构以体现系统的变化。和函数相比,数据应该是程序中更稳定的部分。不过在这里,只有从抽象的角度来看,数据才是稳定的,如果考虑这些数据对象的具体实现,它们甚至比函数还要不稳定,因为在一个数据对象中增减字段在程序开发中是常事。因此,在以数据为中心构建程序的同时,我们需要一种手段来抽象地描述数据,这种手段就是使用函数。在面向对象设计中,类封装了数据,而类的成员函数作为其对外的接口,抽象地描述了类。用类将数据和操作这些数据的函数放在一起,这可以说就是面向对象设计方法的本质。
      
      4.面向对象程序设计
      
      面向对象程序设计(Object Oriented Programming,OOP)的许多原始思想都来自Simula语言,并在Smalltalk语言的完善和标准化过程中得到更多的扩展和对以前的思想的重新注解。可以说OOP思想和OOP几乎是同步发展相互促进的。与函数式程序设计(functional-programming)和逻辑式程序设计(logic-programming)所代表的接近于机器的实际计算模型所不同的是,OOP几乎没有引入精确的数学描叙,而是倾向于建立一个对象模型,它能够近似地反映应用领域内的实体之间的关系,其本质是更接近于一种人类认知事物所采用的哲学观的计算模型。由此,导致了一个自然的话题,那就是OOP到底是什么?在OOP中,对象作为计算主体,拥有自己的名称、状态,以及接受外界消息的接口。在对象模型中,产生新对象,销毁旧对象,发送消息,响应消息就构成OOP计算模型的根本。
      OOP主要有以下的概念和组件:
      组件――数据和功能一起在运行着的计算机程序中形成的单元,组件在OOP计算机程序中是模块和结构化的基础。
      抽象性――程序有能力忽略正在处理中信息的某些方面,即对信息主要方面关注的能力。
      封装――也叫做信息封装:确保组件不会以不可预期的方式改变其它组件的内部状态;只有在那些提供了内部状态改变方法的组件中,才可以访问其内部状态。每类组件都提供了一个与其它组件联系的接口,并规定了其它组件进行调用的方法。
      多态性――组件的引用和类集会涉及其它许多不同类型的组件,而且引用组件所产生的结果得依据实际调用的类型。
      继承性――允许在现存的组件基础上创建子类组件,这统一并增强了多态性和封装性。典型地来说就是用类来对组件进行分组,而且可以定义新类为现存的类的扩展,这样就可以将类组织成树形或网状结构,这体现了动作的通用性。
      我们可以看到面向对象程序设计的核心思想是:抽象数据类型、继承和多态。这也是它的好处和优点。其核心就是用类来表示各种概念,在这种思想的影响下,诞生了一批面向对象程序语言,通过各种语言和程序设计范型的演化,我们可以清晰看到面向对象程序设计技术的各种优势,以及这种优势产生的根本原因――克服过程式编程里面数据与算法完全分离的弊端,并在此基础上演化出了多种新的组织程序和表达概念的方法。
      
      参考文献:
      [1]吴其庆.J2EE程序设计实例教程.北京:冶金工业出版社,2006.
      [2]Stroustrup.C++程序设计语言.机械出版社.
      [3]Lippman.C++PRIMER中文版.中国电力出版社.
      [4]Bertrand.Meyer.Object-Oriented Software Constructure.机械工业出版社.
      (作者系武汉理工大学计算机学院在读硕士)

    推荐访问:程序设计 面向对象 研究

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章