到底什么叫做面向对象?自认为搞清楚了,可是经理说我没搞清楚。 面向对象编程不就是封装,多态,继承吗?
到底什么叫做面向对象?自认为搞清楚了,可是经理说我没搞清楚。 面向对象编程不就是封装,多态,继承吗?
|
laoyuanMay 11, 2016
1
一堆值和函数的集合。。
|
|
expireddessertMay 11, 2016
2
请问什么是封装…… 什么是多态…… 什么是继承…… 请具体一点……
|
|
designerMay 11, 2016 via iPhone
3
就是帮单身猿猿们找对象!
|
|
4
倒不如帖一点代码出来看看? OOP 更多的是体现在框架构建理念上。
另外只说你“没搞清楚”?提到细节了没有?如果只是扣个帽子,那说明这个人一样不靠谱。 |
|
araralorenMay 11, 2016
5
你们经理对你有意思吗?面向`对象`。。。
|
|
tobyxddMay 11, 2016 via Android
6
教科书式的回答。。估计是你得说详细点
|
|
7
你們經理在裝逼,一個這種破概念還翻來覆去的,又不是做學術寫論文。
這是教科書的回答:「面向對象的本質是代碼的復用。」 這是我的理解:「面向對象的本質是消息的傳遞。」 每個人都有每個人的理解,沒必要在這種隨着經歷增加而在不斷變化的東西上使太多勁兒。 |
|
ren2881971May 11, 2016
8
你们经理唬你呢~
|
|
k9982874May 11, 2016 via iPad
9
我觉的你把最重要的一条“抽象”漏了
|
|
vietorMay 11, 2016 via Android
10
面向对象是理念与工具集,你关注了工具集
|
|
11
封装、多态和继承这些只是实现面向对象的技术手段,如果你自己在对象的提取和抽象上没做好,这些技术用上去也写不出好代码。面向对象是一种分析问题、看待事物的思维方式,只着眼于这些技术层面的东西,有点太狭隘了。个人觉得编程不只是写写代码,也是在培养各种看待世界的方式。
|
|
just4testMay 11, 2016 via Android
12
我觉得本质是绑定了数据和操作,使其更类似于真实世界的实体,从而易于理解和使用
|
|
wjh3936May 11, 2016
13
你的经理可能是说你没搞清楚,他来教你怎么做“对象”?手动滑稽
|
|
xpolMay 11, 2016 via Android
14
设计模式解析上有一段叫从传统面向对象到新的面向对象。
大致是说新的面向对象是抽象和封装变化点。 |
|
OuyanganMay 11, 2016
16
看看 think in java 导论
|
|
kidenyMay 11, 2016
17
只是计算机语言这种拙劣的表现语言,找一个实用.或者->访问对象方法和属性的方式,找一个借口罢了。
|
|
chunqiuyiyuMay 11, 2016
18
赞同十一楼。面向对象每个人都有自己的理解,如果你们的经理执着于这点就太无聊了,实际的工作项目中,更值得理解和解决的问题根本比概念的理解要重要的多。估计你们经理想要一种教科书式的回答。。
|
|
linux40May 11, 2016 via Android
19
我也觉得你们经理在装逼,这个东西还是要看代码。。。
|
|
20
经理一拍桌子:你好好看着我!
然后红着脸小声说了句:这就是面向对象。 |
|
evilicMay 11, 2016
21
尽量用最有效的方法来解决问题。面向对象也好,怎样都好,反正都是为了解决问题的。
|
|
tony1016May 11, 2016
22
10 年工作经验来看,大多数程序猿依旧停留在对象就是有个类的基础上,现实开发中根本没有多少封装,继承和抽象,还不如直接函数编程呢
|
|
23
你就是一個对象,具备一些功能,拥有一定的编程能力,你们经理在面向你的时候,把你的技能属性值设置成了没搞清楚面向对象是什么,你们经理还可以调用你的编程能力,喊你去做任何能做的事情,但是呢,过了一段时间,你们经理发现你这对象该优化优化了,需要提升一下技能,于是找你谈话,问你什么是面向对象. 2333333333333
|
|
xylophone21May 11, 2016
24
断章取义概率很大
|
|
suuuchMay 11, 2016
25
看情况吧,这算是一个开放性问题吧,有自己的见解就好了。
|
|
kyze8439690May 11, 2016
26
懂技术的经理
|
|
jason19659May 11, 2016
27
我同样想起了一个问题,你对 spring 的理解怎么样
|
|
firsthymMay 11, 2016
28
这明明是一个 big topic
|
|
yszxMay 11, 2016
29
面向对象是一种设计思路···反正我是说不出来
|
|
30
要面向对象,首先要结对编程,
妹子或者汉子都行, 再不济也得要有个程序员鼓励师, 不然就会一直找不到对象。。 |
|
finMay 11, 2016
31
能不能讲一下 J2EE 。
|
|
niepan0ooMay 11, 2016
32
个人观点:更多的是设计程序的一个思路吧,用这种方式去解决问题,让程序便于理解、便于维护、便于迭代。封装,多态,继承这些应该是具体的实现吧。
|
|
jydengMay 11, 2016
33
讲不了,所以还是搬砖去吧
|
|
lifesimpleMay 11, 2016
34
找不到对象,何以面向对象?
|
|
alexRHMay 11, 2016
35
看看设计模式的书,虽然单纯看完你还是不懂设计模式,但是至少,装逼,已经不会输给你经理了。
|
|
j4funMay 11, 2016
36
给我找个对象我告诉你
|
|
bumzMay 11, 2016 via iPhone
37
何为面向对象?可以从实践、思维、目的三个角度回答
封装、多态、继承是实现面向对象的常见方式 以物件为导向设计架构是面向对象的基本思维 达到代码复用的效果,是面向对象的主要目的 |
|
blackfireMay 11, 2016
38
为什么我到现在还搞不清楚?每次说完都觉得不对,别人说出来都好有道理的样子。突然想起来张三丰问张无忌,“无忌,招式记住了多少?”…………我感觉面试这么回答是很好的,如果我们总监这么问我,我这么回答,我会祈祷他不打死我
|
|
y835L9DyC5XD09kqMay 11, 2016
39
是产品狗最后的遮羞布
|
|
sensui7May 11, 2016
40
思想丄的, 如果只是把函数葑装琎类里面, 那没有多大意义啊. 个朲锂解猪要是, 数据保护, 低耦合, 复用.
|
|
wingyiuMay 11, 2016
41
以后面试记得带两个象棋
|
|
alphadog619May 11, 2016
43
世间万物皆对象
|
|
ChrisplusMay 11, 2016
44
面向对象是一种思维方式
|
|
zhuzhe1983May 11, 2016
45
首先你要有个对象,然后面对她编程就可以了。。。
|
|
SuperMildMay 11, 2016 via iPad
46
感觉面向对象体现得最明显的就是各种 framework 。
现在能这么方便地 import 一个包就获得一堆很实用的类和方法,就是面向对象的好处。 把逻辑封装为 class ,使 api 非常清晰,同时也使 namespace 划分得很清楚。 |
|
an168bang521May 11, 2016
47
我理解的面向对象是:
像自然界中一样,把事物分为不同的类,方便进行管理; 自然界中有人类,动物类等;比如人都属于人类,人都继承人类的特征,都有一个鼻子两只手; 编程语言中,进行归类,继承,多态等; 比如 JavaScript 常见的,可以用构造函数创造一个类,实例都继承所创建的类; 实例的方法继承类;但是实例 A 内的数据和实例 B 内的数据是不同的,虽然都是继承同一个类; 就好比我们每个人都有一双手,都是继承人类的特征,但是我的手不等于你的手; 大概就是这样的吧; 妈的,这玩意,真的认真说起来,就好比是一本正经的吹牛 B 一样; |
|
ReignMay 11, 2016 via Android
48
|
|
qiumaoyuanMay 11, 2016
49
面向对象是一种管理代码复杂度的有效方法
|
|
qiumaoyuanMay 11, 2016
50
对了,补充一句,其实你经理未必清楚。
|
|
21gramsMay 11, 2016
51
本质就是通过封装降低了复杂度。
|
|
52
|
|
ChiChouMay 11, 2016
53
你有对象了吗?
|
|
EpirusMay 11, 2016
54
发送消息
|
|
redhatpingMay 11, 2016
55
想和你谈对象呢... 你就这么呆瓜
|
|
McContaxMay 11, 2016 via Android
56
面向对象编程,首先你得有对象(好吧这一块区域我也很模糊,生活中的任何事物都是对象,对象有属性。。。。这一段我都可以背下来了但是就是不懂)
|
|
aksoftMay 11, 2016
57
就是面向女朋友
|
|
loryyangMay 11, 2016
58
一种思维方式吧,尽量做好封装,需要的时候用好继承和接口。
另外设计是演化出来的,上来就一定要严格面向对象其实意义不大。而且没有具体的问题,空谈 OO 没啥意思,实用至上 |
|
crayygyMay 11, 2016 via iPhone
59
面试前端的时候让我讲一下观察者模式和工厂模式……当时就觉得这事儿没那么简单。果不其然现在这个小项目几乎所有的都是我一个人在做……我特么只是个实习生啊!
|
|
garrychMay 11, 2016
61
都知道封装,多态,继承,但这并不等于理解了面向对象,封装,多态,继承只是为了解决代码层面的问题,比如代码复用
对象是为了解决业务层面的问题 |
|
garrychMay 11, 2016
62
赞同十一楼。
建议楼主看看领域驱动设计,会有很大帮助 |
|
beyoungMay 11, 2016
63
@designer
@araraloren @lwbjing @Chrisplus @UnisandK 如果对方是妹纸 你可以做个手势,然后淡淡道: 就像我们现在这样;你不需要知道我到底究竟是怎么做到某件事的,你告诉我,我去做就好;你就是面向了你的对象,也就是我; |
|
chilaoqiMay 11, 2016
64
你是不是很想说: “咱不装逼了行么,求你了” 哈哈哈
|
|
ichouMay 11, 2016
65
我觉得面向对象并不是模式,或者语言特性,那些是实现面向对象的工具
面向对象 是编程中逻辑编排的一种思想,它不强调我要做什么,而是我这个东西有什么,可以做什么,再通过各个对象的串联来完成一个系统 很多刚接触一段时间的人,对什么是面向对象如数家珍,但是代码中着实看不到面向对象的思想,要么是为 OOP 而 OOP ,要么是大家都是这么写的所以我这么写 推荐给楼主一种彻底面向对象的语言: ruby ,凡事皆对象 |
|
66
你是对象,你女朋友是对象,你们两个互相搞对象,你们俩就是类;
你出生在一个富裕家庭,有一堆跑车,是你爹的,你也可以用,这个叫继承;,但是你娘不属于你,所以这个叫私有对象,跑车和房子属于公共对象,但是只能你和你家人一起用,这个叫公有对象 你判断政府要在一个地方搞开发,然后你先占坑,放了几张桌子,你听说明年就要开发了,你马上又去修了一个鱼塘,后来政府不开了,你很失望你把那个坑给填了,这个叫抽象类 以上都是我胡说八道,我是一外行啥也不懂 |
|
elepantMay 12, 2016 via iPhone
67
面向过程是什么事都自己做,面向对象是什么事都让别人做。
|
|
smallpathMay 12, 2016
68
哈哈, 也许你可以看看湾湾的面向组件这种说法, 然后跟你经理装个比
|
|
elvbaMay 12, 2016
69
@SlipStupig 挺形象的哈哈
|
|
SlipStupigMay 12, 2016
70
@elvba 这种东西每个人理解不一样,我见过国外一些开源项目人家不用 oop ,照样可以写出牛 x 的项目,我个人认为 OOP 目的是让大家水平更平均,要要逞口舌之利,你可以这么玩。
版本 1 : 经理:你还是没理解 OOP 你:我更注重设计模式 经理:你连 OOP 都理解不了怎么去理解设计模式呢 你:你写代码都不设计的嘛,那模块如何懈耦,如何拓展,如何降低模块依赖,数据库复杂度,是否做到可持续交付呢?你设计模式都不理解,你怎么写代码!就算你写出来了,我都不知道是什么代码! 版本 2 : 经理:你还是没理解 OOP 你:我不需要理解,我更注重系统和编译原理这些 经理:你连 OOP 都理解不了怎么去理解这些呢? 你:你说的虚类 保护对象 隐含调用,在 JVM 里面只不过是内存一个指针而已,在底层虚拟机实现指令中全都是过程没有对象,编译流程中也全部都是过程,你这些都不理解,可能写出来的代码最终就是被编译器优化掉的下场! 经理:那对你开发速度和质量上也没什么帮助啊 你:我理解这些所以我能写出更高性能的代码,你连系统原理都不了解,我都不知道是什么代码! |
|
71
@jeffersonpig 同意
|