A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

面向对象在我看来是过程编程发展的必然,随着代码量的变大再多人协作的情况下,不可能照顾到每一项功能的具体实现,而面向对象通过一个个对象隐匿了具体细节,但同时模块化各项任务,更接近人类思维规则,加上权限分配,为项目的大型管理提供方便

评分

参与人数 1黑马币 +3 收起 理由
Micro + 3

查看全部评分

回复 使用道具 举报
我觉得面向对象除了三大特征外,还进一步体现了模块化的思想,使具有相同特性的归为一类,可复用性更高。

评分

参与人数 1黑马币 +1 收起 理由
Micro + 1

查看全部评分

回复 使用道具 举报
面向对象就是不管怎么做成的,只知道谁会做就可以了,例如要去北京做火车,你找火车就行了,不用操心火车是咋跑的

评分

参与人数 1黑马币 +1 收起 理由
Micro + 1

查看全部评分

回复 使用道具 举报
C语言是面向过程,而OC是面向对象,把对象相同的属性归结为类,比如动物类,一只猫是动物的对象,一只狗也是,他们都有相同的属性,即四条腿,两只耳朵

评分

参与人数 1黑马币 +2 收起 理由
Micro + 2

查看全部评分

回复 使用道具 举报
面向对象比较好理解吧,我们每天的生活,越累越接近与面向对象的状态了。

比如说洗衣服,以前你洗衣服要找洗衣机,搁洗衣粉,接水龙头,设定洗衣机,接通电源等等,现在有个app叫做e袋洗,点一下手机,他们就上门来收衣服了,你让他们什么时候洗好,他们就送来了。你除了掏钱,啥也不用干。

就像你以前洗衣服是面向过程的,洗衣服过程中详细的怎么样洗你都要考虑清楚,比较复杂。

用app,就好像面向对象,你只需要把钱和衣服给他,让他洗好送回来,中间啥也不用考虑。好像这个app把你的整个洗衣过程给封装了,只是给了接口你可以用这个功能,至于到底怎么洗的,你不需要知道。

而这种设计,最根本的好处就是让我们的思维空间节省了太多。

评分

参与人数 1技术分 +1 收起 理由
Micro + 1 很形象

查看全部评分

回复 使用道具 举报
我也来水一水,:lol
面向对象是一种编程的思维吧,把一切都看成对象。
面向对象有许多的设计模式。在UI编程中有一种普遍采用的模式,叫MVC,Model View Controller。
Model对象用来存储数据
View 对象用来绘制界面
Controller 对象充当一个协调者的角色。相当于大脑,可以读取Model的数据,命令View进行界面绘制等。
在MVC中,写的优秀的符合MVC格式的代码三者分工明确,各司其职,互不越界。
在做小软件时或许不那么讲究也可以很有效率的搞定,但是项目一旦做大,代码一定要符合MVC规范,否则代码会越写越乱,陷入泥沼。
各位在学习时一定要多注意实践这种设计思想,从而提高代码规范性,养成良好的习惯!

评分

参与人数 1技术分 +1 收起 理由
Micro + 1 很给力!

查看全部评分

回复 使用道具 举报
我觉得面向对象就是,想实现一件事情,只需要创建一个对象去实现就好。这个貌似C语言也是函数和结构体的思想,但是与C语言相比,最大的优势在于面向对象还可拥有一个对象,人可以拥有一个狗,通过指针操作狗,实现狗的一些行为。这时候的OC功能就更强大了。所谓君子不器,君子是指有德者像现在的高层管理者,不能把自己当做一个容器,一个工具。而是要善于使用工具,也就是善用你的大臣,去做更多的事情。面向对象就是不要把自己当做一个工具,main函数的作用就是开拓思路,如何设计出更好的思路,想出更好的idea。

评分

参与人数 1技术分 +1 收起 理由
Micro + 1 赞一个!

查看全部评分

回复 使用道具 举报
面向对象是一种编程思想,与面向过程最大的不同就是考虑问题的视角不同;
面向对象,关键在于一个对象。这种思想着重考虑一件事情完成过程中都有哪些对象参与其中;
比如上班这件事,面向过程就要考虑很多细节问题:早上起床,然后洗脸刷牙吃饭,刷卡坐地铁到公司,刷卡进公司上班等等, 要考虑很多很多细节问题;而面向对象考虑方法就简单的多,在上班这个过程中,我只需要考虑有哪些对象参与其中:人,地铁,公司。然后给对象定义一些动作,比如人:起床,吃饭,走路。地铁:载人。最后根据需要调用对象的各种方法动作,完成早上起来上班这件事。
这就是我理解的面向对象,求奖励。

评分

参与人数 1技术分 +1 收起 理由
Micro + 1 很给力!

查看全部评分

回复 使用道具 举报
本帖最后由 moresurui0308 于 2015-3-19 00:37 编辑

这个只能笼统的谈谈自己的看法。
最主要的,面向对象设计使我们以一种自然的方式对待软件设计过程。
首先,人类其实是以对象的方式进行思维的,比如你正对着的电脑,手里的鼠标,脚下的汪汪或者喵喵。。都是常见的对象。这些对象都有共同点,它们都有属性(如颜色大小重量等)和行为(如汪汪叫或者喵喵叫或者撒娇。。。),软件对象也都拥有各种属性和行为。人类是通过研究属性和观察行为来学习现有的对象的,不同的对象拥有可以具有相似的属性和行为,我们可以对他们比较来区分(如汪汪是小狗,喵喵是小猫)。
然后,这样看来,面向对象设计其实是类似人们描述现实世界对象的方法对软件进行建模啦。面向对象可以利用类内关系,即某个类的对象都有一样的特征,如交通工具类——电动车汽车小三轮就有很多共同点。面向对象也可以利用继承关系,即新的对象类是由吸收已有类的特性加上自己独特的特性派生的。比如“超能人”类的对象当然具有一般性的“正常人类”的特性,只是它有更为特殊的属性(蜘蛛侠和你有相当多的共性,但是人家会吐丝,你会么。。)。
当然面向对象设计的封装性能对信息进行很好的隐藏。
关于面向对象和面向过程。。。面向对象语言(如C++)和面向过程语言(如C)。C语言中编程单位是函数,而C++中是类,类最终要实例化为对象,类包含了实现操作的函数和实现属性的数据。
小弟愚见。。。只是有模糊的概念但是说不清楚的感觉。。

评分

参与人数 1技术分 +2 收起 理由
Micro + 2 很给力!

查看全部评分

回复 使用道具 举报
面对对象,把重点放在需要处理的对象上,淡化过程的概念。面对对象的方法,可以把处理方法封装起来,而使程序员把精力放在功能的实现上,达到更好的功能实现
回复 使用道具 举报
比如说要成立一所小学,我设计人这个类,利用这个类创建市长,工人,校长,教师,学生,我用对象市长获得土地使用权,利用对象工人制造生产材料,并且建造小学,利用对象校长管理学校,利用对象教师教授学生,利用对象学生来接受知识。我通过创建所需对象,并指挥调度对象完成我要完成的任务。

评分

参与人数 1黑马币 +3 收起 理由
Micro + 3 淡定

查看全部评分

回复 使用道具 举报
azen 中级黑马 2015-3-19 09:50:33
52#
额。我会先设计小学这个类,然后调用小学类的alloc init方法创造小学对象。然后调用小学对象的建造方法建小学,调用对象的管理方法,管理小学
回复 使用道具 举报
  我记得有个师哥跟我说过,面向过程和面向对象的区别,他拿炒西红柿打的比方,如果是面向过程,就要考虑先放油,再放西红柿,放调味料之类的。而面向对象,就是把东西准备好,直接放到锅里就OK了。面向对象,特点有封装,继承,多态,编程的时候更加好用。或者说像现在的一款沙盒游戏叫做《我的世界》,面向对象给我们的就是让我们建造一个个的砖,通过不同的调用和构造就能造成全世界。

评分

参与人数 1技术分 +1 收起 理由
Micro + 1 很给力!

查看全部评分

回复 使用道具 举报
面向对象就是直接将各种事物作为对象,直接命令他们做一些事情,而不用管它们怎么做
回复 使用道具 举报
对象与类的关系:
对象是类的实例化,类是对象的实现细节,
当没有为类创建人和对象时 类本身并不存在于内存当中的
每一个对象都存在着有别于其它对象的属于自己的独特的属性和行为。对象的属性可以随着它自己的行为而发生改变。
回复 使用道具 举报
Plus. 中级黑马 2015-3-19 14:39:12
56#
面向对象就是将事物拟人化,将它们看作一个个具体的生命,他们会在特定的条件(参数)下做一些特定的事(返回值),我们只需要给她那个条件(参数)叫她去做什么就行了,而不用去管她为什么要那么做怎么会那么做,面向对象的这种思想也更符合人类的思考方式,所以引入面向对象的思想来编程会使编程简单化、合理化,写出更有条理、更健壮的程序
回复 使用道具 举报
本帖最后由 yyx1992 于 2015-3-21 00:30 编辑

面向对象是一种模拟人思考的东西,类可以理解为组成对象的元素或模块。例如,你看到一辆车,那么车就是一个对象,而车的轮子,速度,发动机什么的都属于组成部分,就是“类”。面向对象拥有行为,相对智能一些,比如这辆车要跑,我只需调用它跑的行为就可以了,而至于它怎么实现的我可以不用管。因此面向对象更容易令人理解,更好的编程,对象可以继承对象,包含对象;就比如汽车,我可以说它继承了(属于车)车,但是包含了发动机这个对象,与现实生活十分相似,因此更容易理解与实现面向对象三大特性:封装,继承,多态
回复 使用道具 举报
你不懂电脑,但你又要买。你去买就要被人坑,因为你不懂电脑。怎么办呢?找个懂的人吧,他封装了一些功能:他了解硬件,了解行情等。这个人就是你要的”对象“。
回复 使用道具 举报
我觉得面向对象,可以让程序员更加具体的把现实世界映射到计算机世界,更好的表述现实世界,让计算机更好的理解现实,更好,更快,更智能地完成人们预期的功能。
回复 使用道具 举报
个人感觉还好呀!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马