西门子PLC模块CPU226CN模块控制器
向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。
OO方法起源于面向对象的编程语言(简称OOPL)。20世纪50年代后期,在用FORTRAN语言编写大型程序时,常出现变量名在程序不同部分发生冲突的问题。鉴于此,ALGOL语言的设计者在ALGOL60中采用了以“Begin…End”为标识的程序块,使块内变量名是局部的,以避免它们与程序中块外的同名变量相冲突。这是编程语言中首次提供封装(保护)的尝试。此后程序块结构广泛用于**语言如Pascal、Ada、C之中。
20世纪60年代中后期,Simula语言在ALGOL基础上研制开发,它将ALGOL的块结构概念向前发展一步,提出了对象的概念,并使用了类,也支持类继承。20世纪70年代,Smalltalk语言诞生,它取Simula的类为核心概念,它的很多内容借鉴于Lisp语言。由Xerox公司经过对Smautalk72/76持续不断地研究和改进之后,于1980年推出并商品化,它在系统设计中强调对象概念的统一,引入对象、对象类、方法、实例等概念和术语,采用动态联编和单继承机制。特殊和归纳—从特殊到一般”的完整理论和方法体系)而建立面向对象方法等基础。
面向对象方法学要点之一:认为客观世界是由各种“对象”所组成的,任何事物都是对象,每一个对象都有自己的运动规律和内部状态,每一个对象都属于某个对象“类”,都是该对象类的一个元素。复杂的对象可以是由相对比较简单的各种对象以某种方式而构成。不同对象的组合及相互作用就构成了要研究、分析和构造的客观系统。
面向对象方法学要点之二:是通过类比,发现对象间的相似性,即对象间的共同属性,这就是构成对象类的依据。
面向对象方法学要点之三:认为对已分成类的各个对象,可以通过定义一组“方法”来说明该对象的功能,即允许作用于该对象上的各种操作。对象间的相互联系是通
应的对象类的定义中的,细节对于外界是隐蔽的。
面向对象方法的具体步骤如下:
①分析确定在问题空间和解空间出现的全部对象及其属性。
②确定应施加于每个对象的操作,即对象固有的处理能力。
③分析对象间的联系,确定对象彼此间传递的消息。
④设计对象的消息模式,消息模式和处理能力共同构成对象的外部特性。
⑤分析各个对象的外部特性,将具有相同外部特性的对象归为一类,从而确定所需要的类。
⑥确定类间的继承关系,将各对象的公共性质放在较上层的类中描述,通过继承来共享对公共性质的描述。
⑦设计每个类关于对象外部特性的描述。
⑧设计每个类的内部实现(数据结构和方法)。提出BNF描述Algol60语言的语法,出现了各种语法分析程序自动生成器以及语法制导的编译方法,使得编译系统的开发从“手工艺制作方式”发展成具有牢固理论基础的系统方法。形式化方法的研究高潮始于20世纪60年代后期,针对当时所谓的“软件危机”,人们提出种种解决方法,归纳起来有两类:一是采用工程方法来组织、管理软件的开发过程;二是深入探讨程序和程序开发过程的规律,建立严密的理论,以其用来指导软件开发实践。前者导致“软件工程”的出现和发展,后者则推动了形式化方法的深入研究。经过30多年的研究和应用,今人们在形式化方法这一领域取得了大量、重要的成果,从早期西门子简单的形式化方法——一阶谓词演算方法到现在的应用于不同领域、不同阶段的基于逻辑、状态机、网络、进程代数、代数等众多形式化方法。形式化方法的发展趋势逐渐融入软件开发过程的各个阶段,从需求分析、功能描述(规约)、(体系结构/算法)设计、编程、测试直至