• 关于

    面向对象

    的搜索结果

问题

【教程免费下载】面向对象的思考过程(原书第4版)

玄学酱 2019-12-01 22:07:49 1278 浏览量 回答数 1

回答

面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。例如五子棋,面向过程的设计思路就是首先分析问题的步骤:1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回步骤2,9、输出最后结果。把上面每个步骤用分别的函数来实现,问题就解决了。而面向对象的设计则是从另外的思路来解决问题。整个五子棋可以分为 1、黑白双方,这两方的行为是一模一样的,2、棋盘系统,负责绘制画面,3、规则系统,负责判定诸如犯规、输赢等。第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的i变化就要负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋局进行判定。可以明显地看出,面向对象是以功能来划分问题,而不是步骤。同样是绘制棋局,这样的行为在面向过程的设计中分散在了总多步骤中,很可能出现不同的绘制版本,因为通常设计人员会考虑到实际情况进行各种各样的简化。而面向对象的设计中,绘图只可能在棋盘对象中出现,从而保证了绘图的统一。功能上的统一保证了面向对象设计的可扩展性。比如我要加入悔棋的功能,如果要改动面向过程的设计,那么从输入到判断到显示这一连串的步骤都要改动,甚至步骤之间的循序都要进行大规模调整。如果是面向对象的话,只用改动棋盘对象就行了,棋盘系统保存了黑白双方的棋谱,简单回溯就可以了,而显示和规则判断则不用顾及,同时整个对对象功能的调用顺序都没有变化,改动只是局部的。再比如我要把这个五子棋游戏改为围棋游戏,如果你是面向过程设计,那么五子棋的规则就分布在了你的程序的每一个角落,要改动还不如重写。但是如果你当初就是面向对象的设计,那么你只用改动规则对象就可以了,五子棋和围棋的区别不就是规则吗?(当然棋盘大小好像也不一样,但是你会觉得这是一个难题吗?直接在棋盘对象中进行一番小改动就可以了。)而下棋的大致步骤从面向对象的角度来看没有任何变化。当然,要达到改动只是局部的需要设计的人有足够的经验,使用对象不能保证你的程序就是面向对象,初学者或者很蹩脚的程序员很可能以面向对象之虚而行面向过程之实,这样设计出来的所谓面向对象的程序很难有良好的可移植性和可扩展性。

小旋风柴进 2019-12-02 02:16:04 0 浏览量 回答数 0

回答

C是面向过程的语言,在代码中定义的方法一般是一直调用;而在面向对象的语言(如Java)或基于面向对象的语言(如JavaScript),方法都定义在对象上或者类上(ps:js中对类并没有明确的说法)。譬如,有一个比较大小的方法:在C语言中:在Java中上面一个简单的示例,是为了区分一下面向过程和面向对象针对同一个问题的不同思维方式。虽然这里看不出面向对象的突出点,但是在实际项目中,方法是非常多的,有很大的编码量。在这种情况下,类就能很好的对代码进行组织,譬如一个用户有吃饭、走路、睡觉、娱乐等不同行为。 在C语言中,实现可能是这样的:而在面向对象的语言中,实现可能是这样的:很明显,面向对象对代码结构进行了很好的组装,让人更容易理解。

蛮大人123 2019-12-02 01:53:38 0 浏览量 回答数 0

阿里云试用中心,为您提供0门槛上云实践机会!

0元试用32+款产品,最高免费12个月!拨打95187-1,咨询专业上云建议!

回答

什么是面向过程? 概述: 自顶而下的编程模式. 把问题分解成一个一个步骤,每个步骤用函数实现,依次调用即可。 就是说,在进行面向过程编程的时候,不需要考虑那么多,上来先定义一个函数,然后使用各种诸如if-else、for-each等方式进行代码执行。 最典型的用法就是实现一个简单的算法,比如实现冒泡排序。 什么是面向对象? 概述: 将事务高度抽象化的编程模式. 将问题分解成一个一个步骤,对每个步骤进行相应的抽象,形成对象,通过不同对象之间的调用,组合解决问题。 就是说,在进行面向对象进行编程的时候,要把属性、行为等封装成对象,然后基于这些对象及对象的能力进行业务逻辑的实现。 比如:想要造一辆车,上来要先把车的各种属性定义出来,然后抽象成一个Car类。 举例说明区别 同样一个象棋设计. 面向对象:创建黑白双方的对象负责演算,棋盘的对象负责画布,规则的对象负责判断,例子可以看出,面向对象更重视不重复造轮子,即创建一次,重复使用. 面向过程:开始—黑走—棋盘—判断—白走—棋盘—判断—循环。只需要关注每一步怎么实现即可. 优劣对比 面向对象:占用资源相对高,速度相对慢 面向过程:占用资源相对低,速度相对快

montos 2020-06-01 15:48:20 0 浏览量 回答数 0

回答

面向过程和面对对象是一种编程思想,不能说某某语言是不是面对对象或是面向过程,而是某某语言是否支持面对对象或面向过程。回归主题,python可以支持面对对象,但也可以支持面向过程,即使不支持面向对象的语言,比如c语言,也可以用面对对象的思想写程序。你可以理解面对对象为“模块化”,恰巧python可以做到这一点,自己编写的函数文件可以用import引用模块,即使不使用class定义类,也可以实现面对对象的思想。希望我提供的答案能够帮助到你,你可以继续留言或者到论坛参与更多的互动,答案满意还请采纳一下,谢谢。

大财主 2019-12-02 01:05:27 0 浏览量 回答数 0

回答

《面向对象数据结构(C++版)》全面介绍了面向对象数据结构的基础理论、算法设计方法和具体应用,包括数据结构及算法设计的基本概念、线性表、串、栈和队列、数组和广义表、树和二叉树、图、查找、排序等内容,力求满足计算机及相关专业本科教学的基本要求及培养目标。《面向对象数据结构(C++版)》采用面向对象C++语言描述数据结构和算法,涉及内容全面丰富,重点突出,理论讲述难度适中,算法实践浅显易懂,例题习题丰富。《面向对象数据结构(C++版)》可作为高等院校计算机及相关专业本科及研究生面向对象数据结构课程教材,也可供从事计算机软件开发和工程应用的技术人员参考。

晚来风急 2019-12-02 01:23:23 0 浏览量 回答数 0

回答

面向对象是针对面向方法、面向过程,提出的一种新的编程思维方式。java采用面向对象编程,以类为对象,为基本单位,模拟自然界中的事实,容易理解,容易入门。采用面向对象,也能够更好地描述事物与事物之间的关系

huc_逆天 2019-12-18 17:07:22 0 浏览量 回答数 0

问题

面向对象思考问题的方法

蛮大人123 2019-12-01 20:02:07 742 浏览量 回答数 1

问题

JavaScript 面向对象

html5_简丹 2019-12-01 21:45:09 2060 浏览量 回答数 2

问题

面向对象与面向过程

montos 2020-06-01 15:46:27 1 浏览量 回答数 1

回答

一句话告诉你如何区分函数与方法:函数是大家的函数,方法是类的方法。如何区分一个ITer是设计师还是码工。看看他是在调别人的库,还是自己写出JAR包跟别人分享。感觉差的不是一个级别而已啊。一个东西,用对象调用的叫方法,直接调函数名的叫函数。c语言等语言里叫函数,面向对象编程,函数写到类里边就叫做方法,函数可以直接调用,对象中的方法一般都有指针this指向它,但是有时一些方法实在不需要写到类里边,所以面向对象的语言有了静态方法,不过这个概念没必要纠结,用的多了自然就明白啦函数Function, 过程Procedure, 方法Method,你可以简单把他们当成同一个概念:都是由若干语句组成的一个可执行代码体。函数:Function(面向过程语言教程的英文原版,是否有一个把Function翻译为Method的?)方法:Method(只有不地道的面向对象语言教程才会把Method叫做Function)意思一样的,可能就是方法偏重于类,也就是面向对象设计的,注重每个函数的功能所以叫方法;而函数偏重于面向过程,有可能是功能描述也有能不是,两者都有是看编程者自己怎么看的

蛮大人123 2019-12-02 02:19:47 0 浏览量 回答数 0

问题

面向对象和面向过程的区别是什么?

问问小秘 2020-03-27 17:34:51 0 浏览量 回答数 1

回答

0段—非程序员: 初学编程者,遇到问题,完全是懵懵懂懂,不知道该怎么编程解决问题。也就是说,还是门外汉,还不能称之为“程序员”。计算机在他面前还是一个神秘的黑匣子。 1段—基础程序员: 学习过一段时间编程后,接到任务,可以编写程序完成任务。 编写出来的代码,正常情况下是能够工作的,但在实际运行中,碰到一些特殊条件就会出现各类BUG。也就是说,具备了开发Demo软件的能力,但开发的软件真正交付给客户使用,恐怕会被客户骂死。 程序员程序是写好了,但到底为什么它有时能正常工作,有时又不行,程序员自己也不知道。 运行中遇到了bug,或者需求改变,需要修改代码或者添加代码,很快程序就变得结构混乱,代码膨胀,bug丛生。很快,就连最初的开发者自己也不愿意接手维护这个程序了。 2段—数据结构: 经过一段时间的编程实践后,程序员会认识到“数据结构+算法=程序”这一古训的含义。他们会使用算法来解决问题。进而,他们会认识到,算法本质上是依附于数据结构的,好的数据结构一旦设计出来,那么好的算法也会应运而生。 设计错误的数据结构,不可能生长出好的算法。 记得某一位外国先贤曾经说过:“给我看你的数据结构!” 3段—面向对象: 再之后,程序员就会领略面向对象程序设计的强大威力。大多数现代编程语言都是支持面向对象的。但并不是说,你使用面向对象编程语言编程,你用上了类,甚至继承了类,你就是在写面向对象的代码了。 我曾经见过很多用Java,Python,Ruby写的面向过程的代码。 只有你掌握了接口,掌握了多态,掌握了类和类,对象和对象之间的关系,你才真正掌握了面向对象编程技术。 就算你用的是传统的不支持面向对象的编程语言,只要你心中有“对象”,你依然可以开发出面向对象的程序。 如,我用C语言编程的时候,会有意识的使用面向对象的技巧来编写和设计程序。用struct来模拟类,把同一类概念的函数放在一起模拟类。如果你怀疑用C语言是否能编写出面向对象的代码,你可以看一下Linux内核,它是用C语言编写的,但你也可以看到它的源代码字里行间散发出的浓浓的“对象”的味道。 答案来源于网络

养狐狸的猫 2019-12-02 02:20:35 0 浏览量 回答数 0

问题

面向对象与面向过程有什么区别

小旋风柴进 2019-12-01 20:28:20 784 浏览量 回答数 1

回答

1、java编程语言基础 2、Java 面向对象程序设计,掌握面向对象的编程设计,能够使用面向对象编程思想编写程序 3、java进行多线程、网络通信等 4、深层次的话还包括 jvm原理

viacc 2019-12-02 00:59:00 0 浏览量 回答数 0

问题

面向对象和面向过程的区别?

前端问答 2019-12-01 22:04:18 14 浏览量 回答数 1

问题

c++面向对象的疑惑

a123456678 2019-12-01 20:10:26 863 浏览量 回答数 2

回答

Python是一门面向对象的编程语言,它相对于其他语言,更加易学、易读,非常适合快速开发。相比于其他语言,Python 具有简单、易学、免费、开源、可移植、可扩展、可嵌入、面向对象等优点,它的面向对象甚至比java和C#.net更彻底。

世事皆空 2019-12-02 01:07:37 0 浏览量 回答数 0

问题

jfinal支持面向对象操作数据库吗

小旋风柴进 2019-12-01 19:49:36 1027 浏览量 回答数 1

问题

java面向什么对象

云计算小粉 2019-12-01 19:53:04 417 浏览量 回答数 2

回答

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。

问问小秘 2020-03-27 16:12:13 0 浏览量 回答数 0

问题

js面向对象怎么写

云计算小粉 2019-12-01 19:46:43 424 浏览量 回答数 1

问题

js面向对象怎么理解

云计算小粉 2019-12-01 19:47:57 589 浏览量 回答数 1

问题

java面向对象什么意思

游客pklijor6gytpx 2019-12-18 14:40:36 12 浏览量 回答数 2

问题

python面向对象怎么样

云计算小粉 2019-12-01 20:01:36 574 浏览量 回答数 1

问题

java什么叫做面向对象

云计算小粉 2019-12-01 19:56:09 1187 浏览量 回答数 1

问题

面向对象的特征有哪些方面

问问小秘 2020-03-27 17:36:01 1 浏览量 回答数 1

问题

面向对象的三大核心特性

游客pklijor6gytpx 2019-12-18 14:38:49 1 浏览量 回答数 1

问题

面向对象有那三大特征

游客pklijor6gytpx 2019-12-01 22:01:26 11 浏览量 回答数 1

问题

什么是面向对象?

茶什i 2019-12-01 22:02:45 18 浏览量 回答数 1
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站