APP下载

面向对象程序设计方法研究

2019-02-14范开勇冯振颖

数字通信世界 2019年1期
关键词:面向对象程序设计定义

丁 岚,范开勇,冯振颖

(深圳市赛为智能股份有限公司,深圳 518000)

1 引言

在早期的程序设计时,几乎全部采用面向过程的结构化程序设计模式,由于该模式是以函数为主导,所以在实现时需要将目标需求分解为多个不同的函数,并以函数为单位完成预定任务。由于在这种模式下,公共资源定义,需要通过全局变量才能够实现数据在多个函数之间传递,然而在函数内部却能够实现对全局变量的变更,所以很容易导致全局变量发生潜在错误,进而影响系统的使用。为了解决面向过程程序设计的不足,随着信息技术的发展,出现了更为先进的程序设计模式,即面向对象程序设计,其是将目标需求抽象、封装为一个独立的对象,并为对象赋予与外界隔离的属性、动作等,由于在这种模式下,数据交互只有通过对象公开方法进行,不允许直接修改对象的属性及动作,所以就避免了不同对象之间数据的互相干扰,进而提高程序设计的安全性、可靠性,所以越来越受到重视及关注。

2 面向对象概述

面向对象(Object Oriented,OO)作为一种新型的程序设计方法,其是以对象模型为基础进行的抽象过程,并在应用过程中形成了描述自己的抽象概念定义,包括对象、类、封装、继承以及多态等,其中部分核心抽象定义分析如下:

(1)对象(Object)。在面向对象设计时,所有的目标需求均根据需求内容的不同抽象为可独立完成某项功能的对象,并通过标识、行为和状态对对其进行详细描述。

(2)类(Class)。为了实现对具备相同结构、属性及行为目标对象的高效管理,将这些对象汇总统一管理,并以类的方式进行。

(3)封装(encapsulation)。为了防止目标对象之间结构、行为等的互相影响,同时也为了提高对象设计的灵活性,将目标对象封装起来提供统一服务,保障了数据的安全。

(4)继承(extends)。通过继承,能够实现子类对父类中所有结构、行为的传承,并且能够对父类进行扩展、覆盖及重定义,不但降低了代码实现的重复工作,而且提高了程序设计的灵活性。

(5)多态(implements)。多态在应用时,各个子类可以对父类进行分别实现,进而充当父类表达自己独特的需求,实现同一目标对象的不同表现。

在面向对象程序设计时,常用的设计语言包括Smalltalk、Eiffel、C++以及Java等,并且这些语言在设计时,将面向对象的概念充分植入到程序语言的骨髓中,能够实现与面向对象概念一一对应的程序设计对象,进而完成面向对象程序设计的功能,最终为面向对象程序系统编码实现提供了支持。

3 面向对象设计原理

面向对象设计(Object Oriented Design,OOD)在应用时,其目的不是对目标功能、数据进行分解,而是希望通过对目标对象进行符合现实客观世界的抽象描述,完成目标对象的定义,并通过程序设计中的软件对象模型仿真现实世界的对象和行为。

由于针对现实世界的各种问题解决,人们通过长期的实践总结形成了一定的处理经验,并形成了独具特色的人工仿真系统,然而传统的面向过程设计方法却忽略了这种仿真,并由系统分析人员完成需求定义、设计人员完成软件实现,由于缺少了自然的仿真交互,所以很难适应不断增长的需求变更。面向对象程序在设计时,其原理恰恰利用了现实世界的仿真系统原型,并提供了与仿真系统相似的一一对应关系建模原型,所以也克服了现实世界抽象模型与软件结构之间的差异,最终为系统程序设计提供了更准确、更可靠的方式。

4 面向对象设计实践

根据面向对象程序设计原理分析可知,其主要是通过建模的方式完成对目标系统全生命周期的交互设计,而在建模时,其建模方法也包括OMT、OOSE、Booch、OOA/OOD以及UML等,由于UML统一建模语言集成了众多建模方法的优势,并规避了不足,所以UML建模已经成为当前面向对象程序设计过程中最重要手段。

在基于UML的面向对象建模设计时,其主要是通过各种图形进行表达设计,包括用例图、类图、对象图、序列图、协作图、状态图、活动图、部署图,具体分析如下:

(1)用例图。通过用例图设计,能够以第三者的角度完成系统交互描述,包括系统的参与者、可参与用例以及他们之间的通信,进而为与客户需求沟通,执行需求定义提供支持;

(2)类图。类图在设计时,主要完成目标系统的抽象定义,包括类名、属性及操作三部分。另外,为了描述各个类之间的关系,其通过关联、聚合以及泛化等关系完成目标系统可交互对象的描述;

(3)对象图。对象图在设计,主要用于定义显示具备类似递归关系的目标实例,进而完成部分复杂对象的解释;

(4)序列图。序列图在设计时,主要以时间顺序定义目标功能的执行过程,包括执行时间点、执行顺序以及数据传递等;

(5)协作图。协作图在设计时,作用是以对象角色为基准,完成目标功能执行过程的描述;

(6)状态图。通过状态图的设计,能够完成目标对象所处状态以及潜在影响状态变更的因素进行展示;

(7)活动图。活动图在设计时,其作用是展示一个进程中各个活动对象之间的彼此依赖关系;

(8)部署图。部署图在设计时,主要描述展示了目标系统建设时需要的软硬件资源。

综上可知,在基于UML的面向对象程序设计最佳实践时,其原理是根据软件系统各个生命周期的建设需求,设计出不同的可交互图模型,进而通过模型设计完成目标需求的可视化转化,最终为设计实现质量可靠、运行高效、服务稳定的软件系统提供了保障。

5 结束语

为了能够给程序设计提供更高效、更便捷、更可靠以及更先进的支持,本文对面向对象程序方法进行了深入研究,包括面向对象设计核心对象、设计原理以及设计原型图等,并通过面向对象设计与传统面向过程设计之间的差异分析,提出了面向对象程序设计的优势,最后对基于UML建模为基础的面向对象设计模型进行了深入研究,并为基于面向对象的程序模型设计提供了蓝图。

猜你喜欢

面向对象程序设计定义
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
面向对象方法在水蓄冷PLC编程中应用分析
高职高专院校C语言程序设计教学改革探索
成功的定义
峰丛洼地农作物面向对象信息提取规则集
基于面向对象的车辆管理软件的研制与开发
PLC梯形图程序设计技巧及应用
面向对象的SoS体系结构建模方法及应用
修辞学的重大定义