p://www.myeducs.cn/chaxun/wenti/index.htm' target=_blank>问题而确定一个算法,然后抽象算法在计算机的具体实现,为该算法构造适当的数据结构,通过对算法的操作过程体现算法的思想。也就是说,程序是在数据的某种特定的表示方式和结构的基础上对抽象算法的具体实现。传统的Pascal语言就是典型的支持结构化程序设计的语言。应用这种语言进行程序设计时,不仅要实现程序所需要的各种数据结构,而且要求程序员设计出程序执行的每个细节。
结构化程序设计方法本质上是面向过程的,它不能直接反映人们解决问题的思路,因此这种模式存在着固有的缺陷,主要体现在如下两个方面。
(1) 程序的可重用性差
目前的应用程序变得越来越大,越来越复杂,但其中有很多重复性的
工作,代码重用成为提高编程效率的关键。采用传统的SP模式,每开发一个新的应用程序,程序员几乎都要从零开始做起,并且要针对具体问题做大量重复而烦琐的工作。即使重用代码,也只是进行简单的拷贝,要实现的功能稍有不同,就会导致对代码逐行进行修改,也就是说,这种模式不能对已编好的应用程序的某些部分直接继承引用。
(2) 维护程序的一致性差
应用传统的SP模式开发应用程序时,数据和方法是分开的,这很可能产生问题空间和方法空间在结构上的不一致。对程序运行起重要作用的数据一般要做全局处理,若为了新的需要改变某一数据结构,则所有的处理数据的过程都要进行重新考虑,做出必要的修改,以保证与数据的一致性。因此,要花费大量的精力来维护数据和数据处理过程的一致性,而且还可能产生不少错误。
结构化的程序开发已经不能满足软件发展的需求了。这个时候,出现了面向对象的编程思想,简称为OO(Object Oriented)。面向对象的程序开发被称为OOP(Object Oriented Programming)。在介绍面向对象的思想之前,应该明确指出,面向对象是一种编程的思想,而与具体的语言无关。比较流行的支持面向对象的语言有C++、Object Pascal和
Java。
面向对象的程序开发在软件开发领域带来的变革是令人震撼的。因为它废除了以前的很多思想,引发了软件开发领域的革命。与结构化的开发思想迥异,面向对象的思想甚至从编程角度对客观世界的认识都发生了极大的变化。面向对象程序开发的出现,对程序员来说,代码的可重用性大大提高,开发过程中的积累更加容易;对分析人员来说,代码可以清晰地展现在面前,从而可以很容易地从宏观上进行把握;对管理人员来说,程序的开发与维护变得更快、更廉价。
从宏观上看,我们用结构化思想开发程序的时候,难点在于对问题的抽象。也就是当我们遇到了一个具体的问题,会想到用什么样的数据结构可以比较好地反映这个问题;针对这种数据结构,有哪些比较好的算法。一个成功的对问题的抽象将在很大程度上决定程序的质量和效率。可以说,在结构化的思维之下,程序员的任务是将现实问题抽象为机器的思维方式,并用某种语言来实现。
而面向对象更强调的是模拟,也就是说为现实世界的问题建立一个模型,这个模型可以更逼真的反映现实世界。遇到没有现成的模型可以模拟现实问题,那么可以方便地创建一个模型来。并且,自然界的种属关系也在OOP的思想中得到了完美的体现。
1.1.2 面向对象的程序设计
我们眼中的世界是一个充满了个体的世界,个体之间存在着共性和特性,还存在着千丝万缕的联系。个体又是发展的,个体的发展影响着个性,通过外界的力量,也可以直接改变个体的个性,这就是离散对象组成集合的世界。这种对个体世界的理解启发我们,在设计程序时,也可以使用抽象和具体的分析方法,在程序里建立类似于现实世界的个体,让这些个体有个性和行为,与其他个体有合理的联系,这就是面向对象的程序设计方法。在面向对象模式中,将"对象"作为系统中最基本的运行实体,"对象"中封装了描述该对象的数据(域),处理一个对象时不需要直接访问对象中的域,对象的域通过对象的属性或方法来访问或维护,这就是对象的封装特性。这种封装特性保证了数据与数据处理过程的一致性。对象的方法描述对象的行为方式,通过调用同一个对象的不同方法可以激活对象的各种行为,而同一个方法作用于不同的对象时将产
生完全不同的行为,这就是多态性。
采用面向对象模式建立起来的程序由许多不同类型的对象组成,各对象既是独立的实体,又可以通过各自的接口相互作用。对象中的方法决定要向哪个对象发送消息、发送什么样的消息以及收到消息后如何处理等。也就是说,OOP模式是以对象为中心的。由于对象反映了应用领域中具有完整的特征和行为的实体或单元,从程序设计的角度我们可以把它看成模块。因此,对象具有一定的稳定性,可以被当作一个控件去构成更复杂的应用。又由于对象一般封装的是某一具体的实际工作的各种成分,因此某一对象改变时,对整个系统几乎没有影响。
为了描述功能相似的对象,OOP中引用了"类"的概念。类与类之间的关系是层次结构,属于某个类的对象除了具有该类的全部特征外,还具有层次结构中该类上层所有类的全部性质,这种机制称为继承。
面向对象程序设计方法的继承性和模块性,使得新的应用程序可以在原来对象的基础上通过重用和扩展来进行,而不必从头做起或者拷贝原有代码。这大大提高了程序开发的效率,减少了重新编写代码的工作量,同时降低了程序设计过程中出错的可能性。
面向对象方法的实质是强调从客观世界中的固有规律出发来构造系统,用人类在现实生活中
常用的思维方式来认识、理解和描述客观事物。编写面向对象的程序设计使开发人员能够重复使用工作成果并使程序维护更为容易,并且不易出错。
1.2 数据库概述
数据(Date)是数据库中存储的基本对象。所谓数据,就是能被计算机识别与处理的符号。数据的种类很多,如数字、文字、表格、图形、图像、声音等都属于数据。
数据库(Datebase,简称为DB)就是以一定的组织方式存储在计算机存储介质中的互相
相关热词:基于 delphi_70 程序 设计