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

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

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

8240 次点击
所在节点    程序员
71 条回复
garrych
2016-05-11 20:09:03 +08:00
都知道封装,多态,继承,但这并不等于理解了面向对象,封装,多态,继承只是为了解决代码层面的问题,比如代码复用
对象是为了解决业务层面的问题
garrych
2016-05-11 20:12:06 +08:00
赞同十一楼。
建议楼主看看领域驱动设计,会有很大帮助
beyoung
2016-05-11 22:20:55 +08:00
@designer
@araraloren
@lwbjing
@Chrisplus
@UnisandK

如果对方是妹纸 你可以做个手势,然后淡淡道:
就像我们现在这样;你不需要知道我到底究竟是怎么做到某件事的,你告诉我,我去做就好;你就是面向了你的对象,也就是我;
chilaoqi
2016-05-11 22:29:29 +08:00
你是不是很想说: “咱不装逼了行么,求你了” 哈哈哈
ichou
2016-05-11 23:19:25 +08:00
我觉得面向对象并不是模式,或者语言特性,那些是实现面向对象的工具

面向对象 是编程中逻辑编排的一种思想,它不强调我要做什么,而是我这个东西有什么,可以做什么,再通过各个对象的串联来完成一个系统

很多刚接触一段时间的人,对什么是面向对象如数家珍,但是代码中着实看不到面向对象的思想,要么是为 OOP 而 OOP ,要么是大家都是这么写的所以我这么写

推荐给楼主一种彻底面向对象的语言: ruby ,凡事皆对象
SlipStupig
2016-05-12 00:05:47 +08:00
你是对象,你女朋友是对象,你们两个互相搞对象,你们俩就是类;

你出生在一个富裕家庭,有一堆跑车,是你爹的,你也可以用,这个叫继承;,但是你娘不属于你,所以这个叫私有对象,跑车和房子属于公共对象,但是只能你和你家人一起用,这个叫公有对象

你判断政府要在一个地方搞开发,然后你先占坑,放了几张桌子,你听说明年就要开发了,你马上又去修了一个鱼塘,后来政府不开了,你很失望你把那个坑给填了,这个叫抽象类

以上都是我胡说八道,我是一外行啥也不懂
Asan
2016-05-12 08:36:28 +08:00
面向过程是什么事都自己做,面向对象是什么事都让别人做。
smallpath
2016-05-12 11:29:44 +08:00
哈哈, 也许你可以看看湾湾的面向组件这种说法, 然后跟你经理装个比
elvba
2016-05-12 13:27:19 +08:00
@SlipStupig 挺形象的哈哈
SlipStupig
2016-05-12 14:42:18 +08:00
@elvba 这种东西每个人理解不一样,我见过国外一些开源项目人家不用 oop ,照样可以写出牛 x 的项目,我个人认为 OOP 目的是让大家水平更平均,要要逞口舌之利,你可以这么玩。
版本 1 :
经理:你还是没理解 OOP
你:我更注重设计模式
经理:你连 OOP 都理解不了怎么去理解设计模式呢
你:你写代码都不设计的嘛,那模块如何懈耦,如何拓展,如何降低模块依赖,数据库复杂度,是否做到可持续交付呢?你设计模式都不理解,你怎么写代码!就算你写出来了,我都不知道是什么代码!

版本 2 :
经理:你还是没理解 OOP
你:我不需要理解,我更注重系统和编译原理这些
经理:你连 OOP 都理解不了怎么去理解这些呢?
你:你说的虚类 保护对象 隐含调用,在 JVM 里面只不过是内存一个指针而已,在底层虚拟机实现指令中全都是过程没有对象,编译流程中也全部都是过程,你这些都不理解,可能写出来的代码最终就是被编译器优化掉的下场!
经理:那对你开发速度和质量上也没什么帮助啊
你:我理解这些所以我能写出更高性能的代码,你连系统原理都不了解,我都不知道是什么代码!
xingzhela
2016-05-17 10:43:48 +08:00
@jeffersonpig 同意

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

https://tanronggui.xyz/t/277780

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

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

© 2021 V2EX