到底什么叫做面向对象?自认为搞清楚了,可是经理说我没搞清楚。

2016-05-11 08:05:14 +08:00
 xingzhela

到底什么叫做面向对象?自认为搞清楚了,可是经理说我没搞清楚。 面向对象编程不就是封装,多态,继承吗?

8199 次点击
所在节点    程序员
71 条回复
wingyiu
2016-05-11 12:05:49 +08:00
以后面试记得带两个象棋
sensui7
2016-05-11 12:12:51 +08:00
@wingyiu 象没法对, 过不了河
alphadog619
2016-05-11 12:20:36 +08:00
世间万物皆对象
Chrisplus
2016-05-11 12:29:15 +08:00
面向对象是一种思维方式
zhuzhe1983
2016-05-11 12:41:00 +08:00
首先你要有个对象,然后面对她编程就可以了。。。
SuperMild
2016-05-11 13:04:32 +08:00
感觉面向对象体现得最明显的就是各种 framework 。
现在能这么方便地 import 一个包就获得一堆很实用的类和方法,就是面向对象的好处。
把逻辑封装为 class ,使 api 非常清晰,同时也使 namespace 划分得很清楚。
an168bang521
2016-05-11 13:05:36 +08:00
我理解的面向对象是:
像自然界中一样,把事物分为不同的类,方便进行管理;
自然界中有人类,动物类等;比如人都属于人类,人都继承人类的特征,都有一个鼻子两只手;
编程语言中,进行归类,继承,多态等;
比如 JavaScript 常见的,可以用构造函数创造一个类,实例都继承所创建的类;
实例的方法继承类;但是实例 A 内的数据和实例 B 内的数据是不同的,虽然都是继承同一个类;
就好比我们每个人都有一双手,都是继承人类的特征,但是我的手不等于你的手;
大概就是这样的吧;
妈的,这玩意,真的认真说起来,就好比是一本正经的吹牛 B 一样;
Reign
2016-05-11 13:09:06 +08:00
qiumaoyuan
2016-05-11 13:10:03 +08:00
面向对象是一种管理代码复杂度的有效方法
qiumaoyuan
2016-05-11 13:11:18 +08:00
对了,补充一句,其实你经理未必清楚。
21grams
2016-05-11 13:17:49 +08:00
本质就是通过封装降低了复杂度。
Erbied
2016-05-11 13:32:02 +08:00
ChiChou
2016-05-11 13:55:49 +08:00
你有对象了吗?
Epirus
2016-05-11 16:33:46 +08:00
发送消息
redhatping
2016-05-11 16:46:34 +08:00
想和你谈对象呢... 你就这么呆瓜
McContax
2016-05-11 17:16:32 +08:00
面向对象编程,首先你得有对象(好吧这一块区域我也很模糊,生活中的任何事物都是对象,对象有属性。。。。这一段我都可以背下来了但是就是不懂)
aksoft
2016-05-11 17:20:35 +08:00
就是面向女朋友
loryyang
2016-05-11 17:42:57 +08:00
一种思维方式吧,尽量做好封装,需要的时候用好继承和接口。
另外设计是演化出来的,上来就一定要严格面向对象其实意义不大。而且没有具体的问题,空谈 OO 没啥意思,实用至上
crayygy
2016-05-11 18:29:34 +08:00
面试前端的时候让我讲一下观察者模式和工厂模式……当时就觉得这事儿没那么简单。果不其然现在这个小项目几乎所有的都是我一个人在做……我特么只是个实习生啊!
feilaoda
2016-05-11 19:52:26 +08:00
@crayygy 工作很多年的很多人都不会观察者模式

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/277780

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX