黑马程序员技术交流社区

标题: 面向对象有什么弊端 [打印本页]

作者: 西地那非    时间: 2014-7-7 14:45
标题: 面向对象有什么弊端
在知乎上面看到一个讲面向对象的弊端的,讲的太深了,看不懂,谁能简单的讲解一下面向对象的弊端

作者: wisely    时间: 2014-7-7 18:50
话说现在说这个真的没什么用,这是大牛们涉及的领域,学前班路过……
作者: cat73    时间: 2014-7-7 20:22
在一些底层算法的实现上比较难做 而且效率较低

一般应用感受不到的
作者: fantacyleo    时间: 2014-7-7 23:39
并发、多线程中的线程安全问题就是弊端之一。因为面向对象编程是通过构建对象、向对象发消息(方法调用)改变对象状态来解决问题的,所以面向对象程序的方法一般都有副作用。所谓副作用就是说,方法执行后不但给出返回值,还改变了程序运行环境。System.out.println()方法往控制台输出了内容,这是副作用。setter方法改变对象属性,也是副作用。方法有副作用到了多线程环境,几个线程操作共享资源,就非常可能产生线程安全问题。

随着CPU速度越来越快,以及多核多线程CPU的普及,并发编程变得十分流行,面对面向对象编程易出线程安全问题的弊端,大家又想起了快被遗忘的函数式编程。lz有兴趣的话可以去百度一下scala,一个基于Java又引入函数式编程特性,减少并发中安全隐患的编程语言




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