java是一门面向对象的语言,那对面向对象和面向过程不是很清楚的请看看下面的内容,说不定对你有帮助:
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
例如五子棋,面向过程的设计思路就是首先分析问题的步骤:
1、开始游戏,
2、黑子先走,
3、绘制画面,
4、判断输赢,
5、轮到白子,
6、绘制画面,
7、判断输赢,
8、返回步骤2,
9、输出最后结果。
把上面每个步骤用分别的函数来实现,问题就解决了。
而面向对象的设计则是从另外的思路来解决问题。整个五子棋可以分为:
1、黑白双方,这两方的行为是一模一样的,
2、棋盘系统,负责绘制画面,
3、规则系统,负责判定诸如犯规、输赢等。
第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的变化就要负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋局进行判定。
可以明显地看出,面向对象是以功能来划分问题,而不是步骤。同样是绘制棋局,这样的行为在面向过程的设计中分散在了总多步骤中,很可能出现不同的绘制版本,因为通常设计人员会考虑到实际情况进行各种各样的简化。而面向对象的设计中,绘图只可能在棋盘对象中出现,从而保证了绘图的统一。
功能上的统一保证了面向对象设计的可扩展性。比如我要加入悔棋的功能,如果要改动面向过程的设计,那么从输入到判断到显示这一连串的步骤都要改动,甚至步骤之间的循序都要进行大规模调整。如果是面向对象的话,只用改动棋盘对象就行了,棋盘系统保存了黑白双方的棋谱,简单回溯就可以了,而显示和规则判断则不用顾及,同时整个对对象功能的调用顺序都没有变化,改动只是局部的。
到这里就可以很明显的看出面向对象和面向过程的区别所在了。
分享到:
相关推荐
面向过程与面向对象区别面向过程与面向对象区别
二者用最简单的例子来说 比如说:我吃饭 面向过程:着重在吃的过程,要具体描述吃的没一个步骤,比如夹米饭,张嘴,我进行咀嚼等之类的过程 面向对象:是先将我封装成一个类,米饭封装成一个类,然后把吃饭进行封装...
《面向对象软件工程》 作者:Stephen.R.Schach 学校:(美)范德比尔特大学 书名原名:Objected-Oriented Software Engineering 目录: 第一部分 面向对象软件工程简介 第一章 面向对象软件工程的范畴 第二章 ...
本章首先简要介绍了结构化的软件开发过程,然后介绍面向对象的软件开发过程,对面向对象的一些核心思想和概念做了阐述。本章列举了不少形象的例子,来帮助读者理解面向对象的开发思想,并且以一个画板Panel软件系统...
C#面向对象程序设计教材例子 这个都是本人收藏了3年的资源 现放出 都是总结了很多系统 软件项目实施过程中的经验的 慢慢积累的
面向对象是相对于面向过程来讲的,指的是把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事务的自然运行模式。 面向对象到面向过程,是程序员思想上从执行者到指挥者的转变。 2.举个...
IBM提供的面向过程分析设计实例,简单明了的设计方法过程描述,非常实用。
此外,本书还讨论了各种与面向对象概念密切相关的应用主题,包括XML、UML建模语言、持久存储、分布式计算和客户/服务器技术等。 本书内容精炼,示例简单明了,适合各层次面向对象开发人员阅读,也是高校相关专业...
面向对象与UML 第一部分 软件开发活动 7 第一章 结构化的分析与设计 8 第一节 模型图 8 业务流程图 8 数据流图 11 功能结构图 12 功能树 13 网络结构图 14 程序流程图 15 第二节 需求分析 15 需求分析的任务 15 需求...
本章将通过一个实际的例子,介绍C++如何兼容面向过程设计、它的基本程序结构及其在函数设计上与C语言的异同。然后给出使用函数重载的实例,以便为从结构引入类的知识打下基础。最后介绍C++语言的动态内存分配、引用...
第二部分通过比较面向过程和面向对象两种思想来说明OO建模的优点。 第三部分从OO思想的角度说明面向对象的基本概念,以及为什么会有这些概念。 第四部分阐明了为什么需要UML、UML带来的什么、UML的发展历史和组成。
面向对象技术及uml建模,实例讲解类图,顺序图,活动图,状态图等uml建模过程,内容丰富,学习简单
Python基础教程详解 【第49课】 面向对象(3) 面向对象是比较复杂的概念,初学很难理解。我曾经对人夸张地说,面向对象是颠覆你 编程三观的东西,得花上不少时间才能搞清楚。我自己当年初学Java的时候,也是折腾 了...
4.1 面向对象程序设计的思想 4.1.1 OOP思想 4.1.2 用类实现抽象数据类型:时钟类 4.1.3 类成员:构造函数、方法和域 第2页/共37页 java面向对象程序设计全文共37页,当前为第2页。 4.1.1 OOP思想 面向对象编程技术 ...
我们都知道C语言是面向过程语言,而C++是面向对象语言,说C语言和C++的区别和联系,也就是在比较面向过程和面向对象的区别。 1、面向过程和面向对象的区别 面向过程:面向过程编程就是分析出解决问题的步骤,然后...
电脑教室,那么我们是做程序,这和面向对象有什么关系呢?开发一个系统程序和建一个电脑教室 类似,你把每个独立的功能模块抽象成类,形成对象,由多个对象组成这个系统,这些对象之间都 能够接收信息、处理数据和向...
在系列课程上一讲的基础上,本课程以用VB.NET2005开发具体应用为例子,详细介绍在VB.NET环境中如何运用面向对象的方法来组织工程,编写程序。所涉及的内容包括:定义和使用类,创建对象和实例,运用继承和接口等。...
文章目录前言面向对象:举个最简单点的例子来区分 面向过程和面向对象:面向过程:面向对象的三大特性:类和对象定义类创建和使用对象构造方法 【Python入门自学笔记专辑】——面向对象编程 前言 面相对象是...
在.net平台上实施面向对象的继承 老师讲的很详细 例子觉得很好很形象