1.面向过程的程序设计语言
计算机科学家Nikiklaus Wirth提出一个公式:程序=数据结构+算法。它很好地诠释了面向过程的程序设计方法的核心是数据和算法。
面向过程的程序设计语言按照工程的标准和严格规范,将系统分解为若干功能块,系统是实现模块功能的函数和过程的集合。其结构化程序设计的思路是采用模块分解和功能抽象,将功能分为若干基本功能模块,各模块间关系尽量简单,功能相对独立。
面向过程的程序设计方法将较复杂程序设计分解为许多易于控制和处理的子任务,因此,便于开发和维护。但这种设计方法的可复用性差、数据的安全性差,并且由于数据和处理数据的过程被分离,因而造成对它们理解困难。数据结构的改变将使相关处理过程要进行相应修改才能适用。在程序还不太复杂时,这种设计方法是可行的。
在面向过程的程序设计方法中,数据和数据的处理是分开的,它们被按功能分割,并被拆分为一系列较小的功能部件,直到这些子任务能够被理解。而在数据处理时,再分别调用各个独立的模块来完成所需功能。因此,对功能越来越复杂和程序长度越来越长的工程问题,其软件代码的可复用性低,软件的维护也十分困难。为此,产生了面向对象的程序设计语言。
2.面向对象的程序设计语言
为便于将数据和数据处理结合,面向对象的程序设计语言将数据和数据处理的过程作为一个整体(即对象),将数据和相应数据处理过程封装在对象中。其特点是以数据为中心,而不是以功能为中心,将编程问题视为一个数据的集合,数据相对功能而言,具有更强的稳定性。
面向对象的程序设计语言提高代码可复用性,减少模块之间的依赖关系,有利于程序的调试和修改。其优点是程序模块之间关系更简单,程序模块独立性、数据安全性更有保障。此外,通过继承和多态性,大大提高程序的可复用性,使软件的开发和维护变得更容易和方便。
面向对象程序设计语言的优势是具有较系统的软件工程的理论和工具的支持。(www.xing528.com)
(1)封装
绑定代码和代码操作的数据编程机制可保护数据的安全,防止外部干扰和误用。在对象中,代码、数据或两者都可以是对象私有,也可公有。对私有代码或数据,只能被对象的其他部分访问和识别,因此,私有代码和数据不能被位于该对象外的程序所访问。
IEC 61131-3第三版中定义的类,是一种特定的程序组织单元,它规定该类的变量,还规定了其可采用的方法。这里,类定义的变量是数据,而方法是对该数据进行操作的代码。
(2)多态
多态是指同一事物在不同场合具有不同作用的现象。多态是允许用一个接口访问多个同类操作的性能。例如,一个程序需要多个堆栈,分别用于整数值、浮点和字符值,但每种栈的算法是相同的。在非面向对象的编程语言中,需要创建三组不同的栈例程,每组例程有不同名称。采用面向对象的编程语言时,由于其多态性,因此,只需要一次指定栈的通用形式,并用于三种不同的具体情况,这将降低程序的复杂性。编程人员只需要知道如何使用该通用接口,就可使用多种不同操作。
(3)继承
继承是面向对象程序设计的重要功能,是实现代码复用的一种形式。面向对象方法强调软件的可复用性,采用继承机制。继承是在一个已有类的基础上建立一个新的类,因此,保持已有类的特性而构建新类的过程称为继承。在已有类的基础上新增加自己的特性,而产生新的类的过程称为派生。继承的目的是实现代码复用。
层次结构的分类有利于管理。采用继承,对象只需要定义它与其所在类中与其不同的特性,而不需要显式定义其所有特性,因为,对象可从其父类继承通用属性。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。