当我用C/C++进行编码时,我发现自己总是试图将所有内容都融入到OOP方法中.但我意识到,我并不总是强迫一切都进入这个模具.使用OOP方法有哪些优点/缺点?我对NOT使用OOP的优点/缺点更感兴趣(例如,不使用OOP有优化优势吗?).谢谢,让我知道.
Bri*_*ndy 28
当然,很容易解释为什么OOP是一件好事的百万理由.这些包括:设计模式,抽象,封装,模块化,多态和继承.
何时不使用OOP:
面向对象语言的问题在于它们具有所有这些隐含的环境,它们随身携带.你想要一个香蕉,但你得到的是一只拿着香蕉和整个丛林的大猩猩.
向Emacs添加OOP显然不是一种改进; 我在使用Lisp Machine窗口系统时使用OOP,我不同意通常认为它是一种优秀的编程方式.
您可以在本文题为" 面向对象语言的糟糕工程属性"中找到更多理由.
维基百科的面向对象编程页面也讨论了一些优缺点.
面向对象编程的一个思想流派是,您应该将所有在类上操作的函数作为类中的方法.
C++大师之一Scott Meyers实际上在本文中反对这一观点:
他基本上说,除非有一个真正令人信服的理由,否则你应该保持该课程的SEPARATE功能.否则,班级可能会变成这个庞大的无法控制的混乱局面.
根据之前大型项目的经验,我完全赞同他.