欢迎来到天天文库
浏览记录
ID:7308032
大小:33.11 KB
页数:8页
时间:2018-02-11
《浅谈面向对象的程序设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、浅谈面向对象的程序设计 (1.内蒙古电子信息职业技术学院;2.内蒙古对外科技交流中心,内蒙古呼和浩特010000) 摘要:文章阐述了面向过程和面向对象两种技术的差别,进而详细分析了面向对象的程序设计方法,同时进一步探讨了该类方法在使用时的优缺点。 关键词:面向过程;面向对象;程序设计;软件开发 中图分类号:TP311.5文献标识码:A文章编号:1007—6921(XX)05—0119—02 软件开发过程就是使用计算机语言将人们关心的现实世界的问题映射到计算机世界进行求解的过程。开发的软件具
2、有良好的可扩充性,软件模块具有可重用性,才能够在激烈的竞争中得以不断发展、完善、生存。实际上,要设计出好的软件,就要运用好的程序设计方法和程序设计语言。面向对象技术是一种全新设计和构造软件的技术,它尽可能的模拟人类习惯的思维方式,使开发软件的方法和过程尽可能接近人类认识世界解决问题的方法与过程,把数据和信息相结合,通过增加代码的可重用性、可扩充性和程序自动生成功能来提高编程效率,大大减少了软件维护的开销。现这种技术已被越来越多的软件设计人员所青睐,成为了当今计算机应用开发领域的主流技术。 1面向过程和面向对象的技术对比
3、 1.1面向过程 在面向对象程序设计方法出现之前,开发程序时采用面向过程的方法。面向过程的程序设计注重高质量的数据结构,注重算法的描述,回答的是“做什么、怎么做”的问题。基本过程是:采用结构化思想,自顶而下,按功能把一个复杂的系统分解成许多内聚性强、耦合较少的功能模块,最后用代码组合模块,从而实现系统的功能。例如要编写一个求解矩形面积和周长的程序,采用面向过程的设计方法的一般设计步骤为:①将任务分解为求解矩形面积和求解矩形周长两个子任务。②编写求解矩形面积和矩形周长的函数。③在主程序中调用求解矩形面积和矩形周长
4、的函数,完成程序功能。 这种设计方法使得数据和运算相分离,程序被描述为:程序=模块+模块+…,模块=算法+数据结构。 1.2面向对象 面向对象的基本思想是把程序看作是相互协作的对象集合,它是一种以对象为基础,以事件或消息来驱动对象执行处理的程序设计技术。侧重于描述系统结构,注重需求分析和设计反复,回答的是“用何做、为何做”的问题。采用面向对象的设计方法求解矩形面积和周长的设计步骤为: 1.2.1通过分析确定系统的核心对象为矩形。 1.2.2编写描述矩形对象的类,包括描述矩形长、宽等属性和求解矩
5、形面积和周长的方法。 1.2.3在主程序中,创建一个指定长和宽值的矩形对象,发送求解矩形面积和周长的消息给矩形对象,对象对消息作出反应,计算并返回面积和周长值,完成程序功能。在此,程序被描述为:程序=对象+对象+…,对象=数据结构+算法。它以数据为中心而不是以功能为中心来描述系统,数据相对于功能而言具有更强的稳定性。 2面向对象程序设计方法的分析 2.1面向对象程序设计的基本概念 对象:是面向对象程序设计的核心,是现实世界中各种实体的抽象表示,它是数据和代码的组合,有自己的状态和行为。具体的说,对象的
6、状态用数据来表示,称为对象的属性,而对象的行为用代码来实现,称为对象的方法,其中还包括和其他对象进行通信的设施对象。 类:定义了具有相同数据类型和相同操作的一组对象的类型,它是对具有相同属性和行为的一组相似对象的抽象。一个类实质上定义的是一种对象类型,它描述了属于该类型的所有对象的性质。对象在执行过程中由其所属的类动态生成,一个类可以生成不同的对象。在面向对象的程序设计中,对象是构成程序的基本单位,每个对象都属于某一个类。所以,一个对象又称作类的一个实例。 2.2面向对象设计中的主要特征 封装性:封装的
7、目的在于将对象的使用者和设计者分开,其实质是将对象的数据和操作包装在一起,从而使对象具有包含和隐藏信息的能力。一个对象好像是一个不透明的黑盒子,表示对象状态的数据和实现各个操作的代码都被封装在黑盒子里面,对外界完全封闭。它与外界的联系是通过方法来实现的,方法就是对象的对外接口。同时,外面的对象也不需要关心方法如何进行处理,只要知道调用方法需要什么参数,以及方法能够返回什么样的结果就可以了。 继承性:继承是一种联结类与类的层次模型,它提供了一种明确表述共性的方法,允许和鼓励类的重用。继承是指基于现有的类创建新类的机
8、制。子类继承基类的某些属性、方法、事件,并可以附加新的属性和方法,以进行优化。继承大大提高了代码的可重用性,有效的简化了程序设计的难度和工作量。 多态性:是指类为方法提供不同的实现方式,但可以用相同的名称调用的功能。它有两个方面的含义,一种是将同一个消息发送给同一个对象,但由于消息的参数不同,对象也表现出不同
此文档下载收益归作者所有