关于面向对象编程的思想

关于面向对象编程的思想

ID:28227787

大小:61.12 KB

页数:6页

时间:2018-12-08

关于面向对象编程的思想_第1页
关于面向对象编程的思想_第2页
关于面向对象编程的思想_第3页
关于面向对象编程的思想_第4页
关于面向对象编程的思想_第5页
资源描述:

《关于面向对象编程的思想》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、面向对象编程思想1.面向对象概述传统的结构化编程就是先设计一组函数及解决问题的方法,然后针对问题要处理的数据特征找出相应的数据存储方法,即数据结构。这就是最初Pascal语言的设计者——Nicholase.Wirth提出的著名公式:程序=算法+数据结构。这种编程的特征是先从算法入手,然后才考虑数据结构,所以上述公式将算法置于数据结构之前,也就是设计应用程序的步骤顺序要求。使用面向工程方法开发的软件,稳定性、可修改性和可重用性都比较差。面向对象是当前计算机界关心的重点,它是20世纪90年代软件开发方法的主流。起初,“面向对象”是专指在程序设计中采用封装、继

2、承、抽象等设计方法。当今面向对象的思想己经涉及到软件开发的各个方面。例如,面向对象的分析、面向对象的设计以及常说的面向对象的编程实现。面向对象编程技术是当今占主导地位的程序设计思想和技术。其思路是将上述的两个“加数”颠倒,编写程序时首先针对问题要处理的数据特征找出相应的数据结构,然后设计解决问题的各种算法,并将数据结构和算法看做一个有机整体__类,而将其中的数据结构和相应的算法看做是这个类的对象和方法,每个对象各尽其职,分别执行一组相关的任务。面向对象编程更注重于系统整体关系的表示和数据模型技术(把数据结构与算法看做一个独立功能模块),B卩:程序=数据结

3、构+算法。算法与数据结构是一个整体,一个算法只能针对特定的数据结构,它是对数据结构的访问。面向对象程序设计的思想就是要把算法与数据结构捆绑在一起,因为现实世界中任何对象都具有一定的属性和操作,所以也就总可以用数据结构和算法来全面地描述这个对象。面向对象编程的思想为:程序是由许多对象组成,对象的程序的实体,这个实体包含了对该对象属性的描述(数据结构)和对该对象进行的操作(算法),即:对象=数据结构+算法;程序=对象+对象+2.面向对象编程解决问题的方法1〉解决问题的方法面向过程与面向对象解决问题的方法差别很大,例如,分别采用面向过程和面向对象的方法开发五子

4、棋游戏。采用面向过程的设计思路解决上述问题分为以下几个步骤:1.开始游戏2.黑子先走3.绘制画面4.判断输赢5.轮到白子6.绘制画面7.判断输赢8.返回步骤9.输出最后结果。把上面每个步骤分别用函数来实现,问题就解决了。因此面向过程的设计思想是分析问题的步骤,实现步骤。面向对象的设计思想实现方法,整个五子棋可以分为:1.黑白双方,这两方的行为是一模一样的2.棋盘系统,负责绘制画面3.规则系统,负责判定诸如犯规,、输赢等。第一类对象(玩家对象)负责接收用户的输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的变化就要负责在屏幕上面显示出

5、这种变化,同时利用第三类对象(规则系统)来对棋局进行判定。面向对象是把构成问题事物分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整体解决问题的步骤中的行为。面向对象是以功能来划分问题,而不是步骤。2〉面向对象的好处通过上述两种方法都能完成五子棋游戏的开发,但采用面向对象编程有诸多好处,下面分别进行说明。方法的分布对于绘制棋局的行为,在面向过程的设计中分散在了很多步骤中,很可能出现不同的绘制版本,因为通常设计人员会考虑到实际情况进行各种各样的简化。面向对象的设计中,绘图只可能在棋盘对象中出现,从而保证了绘图的统一。功能上的统一保

6、证了面向对象设计的可扩展性。加入新功能例如,要加入悔棋的功能,如果要改动面向过程的设计,那么从输入到判断到显示这一连串的步骤都要改动,甚至步骤之间的顺序都要进行大规模调整。如果是面向对象的话,只要改动棋盘对象就行了,棋盘系统保存了黑白双方的棋谱,简单回溯就可以了,而显示和规则判断则不用顾忌,同时整个对对象功能的调用顺序都没有变化,改动只是局部的。对象的更改例如,要把五子棋游戏改为围棋游戏,如果是面向过程设计,那么五子棋的规则就分布在了程序的每一个角落,改动的工作量不比重写小多少。如果采用面向对象的程序设计,只要改动规则对象就可以了。五子棋和围棋的区别在于

7、规则变化(棋盘大小也有变化,直接在棋盘对象改动就可以了),而下棋的大致步骤从面向对象的角度来看没有任何变化。当然,要达到改动局部来完成新功能的需求,需要设计者有足够的经验,保证程序具有良好的可移植性性和可扩展性。4.面向对象编程的特点把数据及对数据的操作方法放在一起,作为一个相互依存的整体——对象。对同类对象抽象出其共性,形成类。类中的大多数数据只能用本类的方法进行处理。类利用一个简单的外部接口与外界发生关系,对象与对象之间通过消息进行通信。类是面向对象编程中的最核心技术,一切皆为对象,这就是面向对象的大概思想。面向对象编程方法具有封装性、继承性和多态性

8、等特点。封装性类是属性和方法的集合,为了实现某项功能而定义,开发人员并不需要了解

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。