黑马程序员技术交流社区

标题: 面向对象的优点很多,那它有什么缺点呢? [打印本页]

作者: 王艳静    时间: 2015-8-16 01:26
标题: 面向对象的优点很多,那它有什么缺点呢?

面向对象的程序是由对象组成的,每个对象包含对用户公开的特定功能部分和隐藏的实现部分。程序中的很多对象来自于标准库,还有一些是自定义的。究竟是自己构造对象,

还是从外界购买对象完全取决于预算和时间。但是,从根本上说,只要对象能够满足要求,就不必关心其功能的具体实现过程。在OOP中,不必关心对象的具体实现,只要能够满足用户的需求即可。



对于一些规模较小的问题,将其分解为过程的开发方式比较理想。而面向对象更加适用于解决规模较大的问题。要想实现一个简单的web浏览器可能需要大约2000个过程,这些过程可能需要对一组全局数据进行操作。采用面向对象的设计风格,可能只需要大约100个类,每个类平均包含20个方法。后者更易于程序员掌握,也容易找到bug。











作者: 王艳静    时间: 2015-8-16 22:43
跨平台是Java的主要优点,但代价是运行速度的下降。

作者: 代晃    时间: 2015-8-16 22:45
优点在于跨平台,缺点也在跨平台
作者: weiyuning    时间: 2015-8-17 01:15
这问题问的好,我居然没想过
作者: kevin986745zk    时间: 2015-8-17 07:28
这问题很少有人去探讨,可以学习一下!
作者: 王艳静    时间: 2015-8-17 07:50
代晃 发表于 2015-8-16 22:45
优点在于跨平台,缺点也在跨平台

跨平台为什么会成为缺点?
作者: JXHIUUI    时间: 2015-8-17 08:51
那么晚了还在学习,我感到很惭愧!
作者: zhao1991    时间: 2015-8-17 17:04
什么事物都是利弊共存的,都有适用的方面
作者: liuch111    时间: 2015-8-18 08:43
比喻的不错   
作者: 洛克萨斯    时间: 2015-8-18 16:58
什么都是双刃剑 没研究过
作者: 毛豆豆    时间: 2015-8-18 17:05
最大的缺点也是它最大优点造成的 维护成本降低 但是运行速度也随之降低 所以一些大型网游 竞技游戏是不会用面向对象语言编写的
作者: 王艳静    时间: 2015-8-18 18:21
毛豆豆 发表于 2015-8-18 17:05
最大的缺点也是它最大优点造成的 维护成本降低 但是运行速度也随之降低 所以一些大型网游 竞技游戏是不会用 ...

我养的仓鼠叫毛豆{:2_32:}
作者: 毛豆豆    时间: 2015-8-18 19:06
王艳静 发表于 2015-8-18 18:21
我养的仓鼠叫毛豆


作者: Wqi    时间: 2015-8-18 19:19
这个问题还真没想过。。
作者: 眼镜蛇4    时间: 2015-8-18 21:17
1.性能损失.面向对象编程达到了软件工程的三个主要目标:重用性、灵活性和扩展性,相对的为了实现相应的目标, 就会有一定的性能损失,如果程序进行超大规模计算,则性能损失就比较明显;
2.对数学运算等对象化很弱的编程不适用;
总之,要根据情况,选择合适的编程范式,没有万能的东西.
作者: 两木三水    时间: 2015-8-18 21:51
楼主厉害,这么晚还再学习
作者: zhang2745387    时间: 2015-8-18 21:54
有前途,懂得逆向思维




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2