面向对象编程的弊端是什么?
个人感觉面向对象编程的一个主要弊端是它的复杂性。
比如一开始要理解和运用类、对象、继承、多态、封装等概念,其实并不容易,比如说学 python 的第一个分水岭就是面向对象编程
从效率的角度来看,OOP 程序有时候也比过程式编程更慢,尤其是在处理大量数据或需要高性能计算的应用。对象创建和管理还会带来额外的开销。而且这种设计过度复杂化了,如果过于追求完美去做面向对象设计,你就会碰到一个新的屎山,类和对象组成的屎山
我之前做项目就碰到了一次,密密麻麻看得我脑子爆炸。
还有一些功能性编程任务,比如并行处理和流式数据处理还不如用过程处理,OOp 反而更麻烦。
其实项目不是特别复杂,或者相对适合 OOp 就还好。
评论