面向对象程序设计方法是基于信息隐蔽和抽象数据类型概念,它把系统中的所有资源都看成是对象。每个对象把一组数据类型和过程封装在一起。使得这一过程了解这些数据类型的处理,并在定义对象时规定其他对象与之的交互关系。6
面向对象程序设计方法解决了传统结构化方法中问题空间与解空间不一致的问题,避免从分析与设计到软件模块结构间的多次转换过程,使开发变得简单、高效、合理。
从科学认识辨证法的角度来看,结构化方法是还原主义方法在软件系统设计方法的映射。必然带有还原主义的局限性。运用结构化方法为现实世界的系统建模时,随着分析越来越深入,功能模块层次越来越多,也就越来越难以重现功能模块间的有机联系。即容易“只见树木,不见森林”。
利用面向对象方法设计程序,实际上是利用抽象方法定义各种各样的抽象“类”,通过将类具体化为对象和通过在对象之间传递消息来完成。其中,通过模块和封装将对象的定义和对象的实现分开。通过继承体现类与类之间的关系。以及由此带来的动态链接性和并行性。从而构成面向对象的基本特征。因此面向对象方法在3个层次上实现了系统要素的复杂联系。
首先,类的层次。面向对象方法按照相似原理和关系,把所在研究的问题区分成一定的系统与类别。抽象出类的描述。类的抽象体现了面向对象方法的继承性特征。而继承特性正反映了系统的结构的主要特点。即底层系统对高层系统所具有的构成性关系,和同层次系统间的相干性关系。4
其次,对象的层次。面向对象方法在对事物进行详细的剖析后,将类的描述演化为对对象的描述,在对象的层次上,面向对象方法引入了封装的特征,将对象的属性和方法进行封装。很好的模拟了系统要素间的相互独立的特点。同时对象中预先定义的消息也为实现系统要素间相互关系奠定了基础。
最后,对象关系的层次。面向对象方法在剖析分析基础上再进行综合优化,并在事物运动中和运动的相互关系中去考究事物的静态相似和动态相似的关系,宏观相似和微观相似的关系,横向相似和纵向相似的关系,由此设计和实现对象间的传递消息。形成对象间的相互联系和作用。在对象关系的层次上,对象间通过并发和动态链接,实现相互链接和作用。以构成各种不同的应用系统功能。
综上所述,面向对象方法的本质,从现实世界中固有事物出发来构造系统,用人类在现实生活中常用的思维方式来认识,理解和描述客观事物。强制最终建立的系统能够映射问题空间,虽然面向对象方法并没有从根本上解决目前的计算机软件危机,但是面向对象方法远远由于传统的结构化设计方法,并得到相当广泛的应用。此外,面向对象方法还为我们提供了在认识论和方**上的一种认识现实世界的有效方法。8
|