A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 西地那非 中级黑马   /  2014-7-7 14:45  /  991 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在知乎上面看到一个讲面向对象的弊端的,讲的太深了,看不懂,谁能简单的讲解一下面向对象的弊端

3 个回复

倒序浏览
话说现在说这个真的没什么用,这是大牛们涉及的领域,学前班路过……
回复 使用道具 举报
在一些底层算法的实现上比较难做 而且效率较低

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

随着CPU速度越来越快,以及多核多线程CPU的普及,并发编程变得十分流行,面对面向对象编程易出线程安全问题的弊端,大家又想起了快被遗忘的函数式编程。lz有兴趣的话可以去百度一下scala,一个基于Java又引入函数式编程特性,减少并发中安全隐患的编程语言
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马