面向对象程序设计和设计技术研究

2015-02-23 09:38欧静敏何银川广东南方职业学院信息技术系江门529000
现代计算机 2015年10期
关键词:面向对象计算机软件程序设计

欧静敏,何银川(广东南方职业学院信息技术系,江门 529000)

面向对象程序设计和设计技术研究

欧静敏,何银川
(广东南方职业学院信息技术系,江门 529000)

0 引言

随着时代的不断发展与进步,我国计算机科学技术方面的发展逐渐加快,已经成为当今社会中科学技术的主旋律,成为推动社会经济、政治、军事、文化等各方面发展的主要动力。其中,面向对象技术作为目前应用最广泛的计算机软件设计技术之一,为信息技术的革新做出了巨大的贡献。

1 面向对象程序设计所涉及的技术简述

1.1面向对象技术的概念

自计算机诞生以来,社会发展迅速,也越来越复杂,对计算机的要求与需求因此越来越高,在比较复杂的系统进行设计时,传统的计算机应用软件、设计思想、程序编写方法便会远远不能满足设计需求。因此,计算机的软件与硬件的配合程度便随着时间的推移越来越低。在此情况下,面向对象技术应运而生。面向对象技术的程序设计的主体思想来源于Simula语言,并基于Simula语言进行相关的优化以及完善。主要是通过在再次提高程序代码应用广泛、可拓展应用领域、可再次应用、可自动生成程序等各方面性能的同时,提高软件的性能与寿命,减少软件运行的出错率,从而减少由于维护系统所花费的开销。因此,面向对象的技术是一种新颖的、能够在很大程度上有效地解决计算机软件与硬件不匹配的问题的软件设计与构造技术,其主要特点是以对象为基本的设计理念,将程序中涉及到的数据与对数据的相关操作步骤进行结合,集中封装成为一个整体,通过利用消息从而对对象的相关程序处理工作的执行与否进行控制,利用数据抽象技术,以及信息隐蔽技术,将整个封装整体进行抽象操作,形成一种新的概念,即为“类”(一种新型的数据类型,即指在计算机中对于现实世界以及思维世界中的实体所产生的反映,不占有任何内存),面向对象技术中需要对“类”进行相应的多方面的考量,在进行软件设计的过程中亦要了解不同类之间的相互联系与区别,将类的重用性进行良好的控制。

1.2面向对象技术的主要特征

面向对象技术已经成为当今应用最广泛的计算机软件设计方法和语言。在目前的几乎每一种计算机软件的设计中,都会或多或少地涉及到面向对象技术的相关应用、原理、程序编写方式方法,或是面向对象技术的主要思想。其主要原因是面向对象技术具有几大特点,分别是封装性、继承性,以及多态性。下面分别针对这三种特点进行简要的阐述。

(1)封装性:封装是指将一个计算机系统中的数据以及与这个数据相关的一切操作语言 (即描述每一个对象的属性以及其行为的程序代码)组装到一起,一并封装在一个有机的实体中,把它们封装在一个“模块”中,也就是一个类中,为软件结构的相关部件所具有的模块性提供良好的基础。在面向对象技术的相关原理以及程序语言中,封装的最基本单位是对象,而使得软件结构的相关部件的实现“高内聚、低耦合”的“最佳状态”便是面向对象技术的封装性所需要实现的最基本的目标。对于用户来说,对象是如何对各种行为进行操作、运行、实现等细节是不需要刨根问底了解清楚的,用户只需要通过封装外的通道对计算机进行相关方面的操作即可。大大地简化了操作的步骤,使用户使用起计算机来更加高效、更加得心应手。

(2)继承性:继承性是面向对象技术中的另外一个重要特点,其主要指的是两种或者两种以上的类之间的联系与区别。继承,顾名思义,是后者延续前者的某些方面的特点,而在面向对象技术则是指一个对象针对于另一个对象的某些独有的特点、能力进行复制或者延续。如果按照继承源进行划分,则可以分为单继承(一个对象仅仅从另外一个对象中继承其相应的特点)与多继承(一个对象可以同时从另外两个或者两个以上的对象中继承所需要的特点与能力,并且不会发生冲突等现象);如果从继承中包含的内容进行划分,则继承可以分为四类,分别为取代继承(一个对象在继承另一个对象的能力与特点之后将父对象进行取代)、包含继承 (一个对象在将另一个对象的能力与特点进行完全的继承之后,又继承了其他对象所包含的相应内容,结果导致这个对象所具有的能力与特点大于等于父对象,实现了对于父对象的包含)、受限继承、特化继承。

多态性:从宏观的角度来讲,多态性是指在面向对象技术中,当不同的多个对象同时接收到同一个完全相同的消息之后,所表现出来的动作是各不相同的,具有多种形态;从微观的角度来讲,多态性是指在一组对象的一个类中,面向对象技术可以使用相同的调用方式来对相同的函数名进行调用,即便这若干个具有相同函数名的函数所表示的函数是不同的。

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

2.1面向对象程序设计的设计原理

面向对象技术是对计算机的结构化方法的深入、发展和补充,在保障进行良好的计算机软件的需求设计的同时,也需要尽可能实现利用低成本来开发出高质量的应用软件的目标。消息是传递一个对象与另一个对象之间的信息,实现两者进行通信的桥梁,消息链负责指定功能无条件的执行,而计算机软件的主程序则负责对消息进行筛选(哪些可以接受、可以执行,哪些则需要摒弃,不可带入),软件开发主要由以下几个方面组成,分别为需求定义、制定计划、软件的功能设计、软件的功能实现、验证和确认,这五个方面是最基本的环节,缺一不可。

2.2面向对象程序设计的设计特点

在面向对象程序设计的设计过程中,设计的第一步——需求分析,以及制定计划两个方面是需要用户参与的重点阶段,设计者们需要对目前的网络用户进行普查,调查内容包括广大用户对目前互联网的网络应用的主要看法,预计提出相应的看法、意见与建议。每一个计算机软件的设计与研究开发都是以实现用户的需求为目标,如果在需求分析与制定计划两方面出现任何差错,都将会使得后期的软件功能的设计、功能的实现,以及验证和确认等方面产生很多的矛盾和难题,为设计的准确性、实用性大大减分。因此,能够进行一个完善的、全面的计算机网络用户调查,并依此进行相关计划的制定,对于一个面向对象技术的设计来说是十分重要的。另外,用户的需求一般不是确定的,而是由于某些原因再进行事实的变动的,用户们很有可能随时地、逐步地对软件的功能等方面提出新的要求,而在的设计好的软件中,利用从上至下的原始的方法进行修改是一件极其困难的事情,90%的情况下,软件的设计最后会失败。而在面向对象的软件设计中,由于面向对象的计算机软件技术采用的是自底向上的设计与开发方式,因此,在设计好的计算机软件中进行简单的修改相对来说是比较容易的。与此同时,当用户对于软件的要求与运行可能产生的结构不是十分清楚的时候,运用面向对象的相关技术可以为用户们虚拟一个软件中的对象,从用户的角度出发,依据用户所提出的要求构造一个虚拟的对象,为用户提供可能产生的现象,使用户能够对每一个要求做到了解透彻,同时对软件设计人员的相关工作的展开与进行也可以产生积极的作用。

2.3面向对象程序设计的设计方法

面向对象的程序设计是以结构化程序设计以及数据抽象概念为基础的,将二者有机地结合起来,用数据取代了传统的数据操作,作为设计的核心对象,使得数据与对于数据的操作是在一个基本水平上连接的这个软件系统中的特点更加鲜明。从生活中的角度来看,面向对象的程序设计应该善于利用操作对数据结构进行结合,为每一组同类的对象分配一定的规定动作,并且要求不能够对同一组对象进行不同的操作,也不能够对不同组的对象进行相同的操作。面向对象的程序设计为每一种数据类型都指定了相应的性质以及其主要行为,将抽象这个概念合理地运用到计算机软件的设计中,使人们能够有效地、确切地了解每一种数据类型,可以预测到它们的具体责任与行为是什么。例如,一份文件可以被传到网络中,可以被读取、修改、保存,一个自然数可以进行相加、相乘等运算,相反,如果将二者进行转换,则会发生很大的矛盾,因为一个自然数不能够被传到网络中、可以被读取、修改或者保存,而一份文件也不能够进行加、减、乘、除等运算。

面向对象语言是根据当今世界上的其他多种计算机语言进行综合和转换的。例如,面向对象语言中的交互式开发环境、动态约束的概念,便是由上个世纪五十年代问世的一种人工智能语言——LISP语言中引入的;类以及继承的概念便是由上个世纪六十年代的程序仿真语言——Simula语言中引入进来的;而数据的抽象概念则是由上个世纪七十年代最先涉及到周祥概念的语言——CLU语言中引入的。没什么东西的程序设计需要面向对象语言的大力推进,只有掌握牢固面向对象语言的精髓,才能够高效率、高质量地进行软件的设计与开发,达到事半功倍的效果。

3 面向对象程序设计的应用简述

3.1面向对向程序设计在C++语言、Delphi以及oracle中的应用

在程序进行编译之前,需要提前对模板进行解析,在C++中,编译程序的模板是十分安全可靠的,C++程序设计的最佳模板已经被公认为是标准模板库——STL,从宏观的角度来说,标准模板库(STL)可以分为以下三个类别,分别为:算法类、容器类、迭代器类。其中,容器类是编译程序的模板的最原始使用方法。在Delphi中,面向对象程序设计主要通过在所涉及的软件系统与程序中加入关键字 (例如,virtual虚拟的、dynamic动态的,等等),将该方法的模式设置任意指定为动态的方法,或者虚拟结构的方法,从而为软件设计的多态性提供相应的大力支持。当Overload使用时,Overload的关键字必须出现在每一个同名的过程中,但是Overload不需要对方法进行设置;当Override使用的时候,规定其类型必须要被定义为虚拟方法与动态方法中的一个。除了动态方法与虚拟方法,另外一个相对比较高效的方法就是抽象方法,仅仅在对已经被重载的类与对象进行抽象调用,才能够使得抽象方法有意义。由此可见,在Delphi中,面向对象程序设计的主要应用是为其提供抽象的方法,诸如虚拟方法、动态方法、抽象方法等,其中,抽象方法没有对函数体进行定义的功能。在Oracle中,面向对象程序设计的应用主要体现在其父类型与子类型的继承关系中。为了能够使得子类型在继承的过程中,对父类型的特点与功能进行全方位的继承,从而省去了利用主外键的关系来模仿父类型与子类型之间的关系的繁琐步骤。在此过程中,需要在子类型的声明的末尾处,将其定义为“not final”,以防止在缺省情况下将对象误认为成final,因此,面向对象程序设计为Oracle提供了极大的便利与支持。

3.2面向对象程序设计在金融信息系统中的应用

随着社会的不断发展,信息技术已经广泛地应用于社会的各个方面,在金融管理的信息系统中,随着金融行业的不断发展,企业的信息技术的应用范围逐渐拓广,工作量与任务量逐渐加大,与此同时,软件的智能化、综合性、高效性的需求越来越明显。因此,面向对象的程序设计便成为社会中诸多金融行业所急需的技术。面向对象的程序设计可以有效地针对金融行业中的财务管理、人力资源管理、财务分析管理等方面进行相应的程序设计,来满足企业中各个方面的管理需要,从而大大提高金融企业中的业务运行效率与质量。与此同时,甚至在金融企业中的其他应用系统,例如相关部门工资管理情况以及下发情况、人员出勤情况以及工作表现情况、纳税缴税情况以及水电费的缴费情况等各种需求,面向对象的程序设计都可以进行适当的处理与解决。另外,通过面向对象的程序设计出的成熟的计算机信息技术的金融行业的相关管理软件更可以将企业内部的资金流动、人员流动、资源流动,以及信息流动有机地结合起来,并对企业外部的信息进行实时的搜集,使得企业内部资源与现状同企业外部的相应方面的资源与现状实现形成一个整体的供应与使用网络,实现对于公司的全面、一体化的高效管理。

4 结语

由本文可以看出,面向对象的程序设计使信息技术的应用更加严谨、广泛,给人们的生活、工作,以及学习都产生了潜移默化的影响,为社会带来了极大的革新与改变。

[1]狄博.基于Python语言的面向对象程序设计课程教学[J].计算机工程与科学,2014(1):15~16

[2]邓劲松,石媛媛,陈利苏,王珂,祝锦霞.基于近红外传感器和面向对象光谱分割技术的田间棉株识别与提取[J].光谱学与光谱分析,2010(7):12~13

[3]倪枫,王明哲,郭法滨,宋阿妮.基于面向对象思想的SoS体系结构设计方法[J].系统工程与电子技术,2010,(3):11-12.

[4]谭林平.深入解析面向过程和面向对象[J].科教文汇,2013(9):45~46

[5]张磊,杨玲玲,张晓芳.面向对象思维引导过程中的问题求解[J].计算机教育,2014(13):107~108

Object-Oriented;Programming;System Technology

Research on Object-Oriented Programming and Design Technology

OU Jing-min1,HE Yin-chuan2
(Department of Information Technology,Guangdong Nanfang Vocational College,Jiangmen 529000)

1007-1423(2015)10-0056-04

10.3969/j.issn.1007-1423.2015.10.016

欧静敏(1986-),女,广东吴川人,本科,助教,研究方向为面向对象、程序设计、系统技术

2015-02-10

2015-03-11

面向对象的根本设计方法是以对象为中心,对实际生活中的相关内容进行分类、模拟,以及设计。以面向对象技术程序设计为主要研究对象,将面向对象技术的理论知识与实际的应用相结合,简要介绍面向对象技术的主要原理、相关理论以及主要特征,随后对面向对象的程序设计技术研究方法与策略以及设计的应用进行详细的讨论。

面向对象;程序设计;系统技术

何银川(1984-),男,河南周口人,硕士研究生,助教,研究方向为计算机教育、软件工程、教学设计

The root design method of the object-oriented is based on object-centric,classifies,it simulates and designs the related content in actual life.Focuses on the technology of object-oriented programming,and combines the object oriented technology theoretical knowledge with practical application.Briefly introduces the main principle of object oriented technology,related theory and main characteristics,then discusses the object-oriented programming technology research method,strategy and the application of design in details.

猜你喜欢
面向对象计算机软件程序设计
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
基于C语言的计算机软件编程
浅谈不同编程语言对计算机软件开发的影响
浅谈基于C语言的计算机软件程序设计
高职高专院校C语言程序设计教学改革探索
面向对象Web开发编程语言的的评估方法
峰丛洼地农作物面向对象信息提取规则集
基于面向对象的车辆管理软件的研制与开发
PLC梯形图程序设计技巧及应用