8
OOP在实践中解决了哪些程序编程问题?
我已经读过《 C ++ Demystified》一书。现在,我开始阅读Robert Lafore的“ Turbo C ++第一版(第1版)中的面向对象程序设计”。除了这些书之外,我没有编程方面的知识。这本书已经有20年历史了,所以可能已经过时了。我确实有最新版本,因为我喜欢旧版本,所以我正在使用旧版本,主要是我只是通过Lafore的第一版研究C ++中使用的OOP的基本概念。 Lafore的书强调“ OOP”仅对较大和复杂的程序有用。在每本OOP书中(以及在Lafore的书中)都说过,程序范式容易出错,例如全局数据容易受到功能的影响。据说程序员可以用程序语言编写诚实的错误,例如通过创建一个意外破坏数据的函数。 老实说,我发布问题是因为我没有掌握本书给出的解释:C ++中的面向对象编程(第4版)我没有掌握Lafore本书中写的这些语句: 之所以开发面向对象的程序设计,是因为在早期的编程方法中发现了局限性。...随着程序变得越来越大,越来越复杂,甚至结构化编程方法也开始显示出紧张的迹象....分析原因这些失败表明程序范式本身存在弱点。不管结构化编程方法的实现程度如何,大型程序都变得过于复杂。……有两个相关的问题。首先,功能可以不受限制地访问全局数据。其次,不相关的功能和数据是程序范式的基础,为现实世界提供了糟糕的模型。 我已经学习了Jeff Kent的书“ dysmystified C ++”,我非常喜欢这本书,这本书中主要是对过程编程的说明。我不明白为什么程序(结构化)编程很弱! Lafore的书通过一些很好的例子很好地解释了这个概念。另外,通过阅读Lafore的书,我已经掌握了一种直觉,即OOP比过程编程要好,但是我很好奇,实际上,过程编程要比OOP弱。 我想看看自己在过程式编程中将面临的实际问题是什么,OOP如何使编程更容易。我想我只是沉思地阅读Lafore的书就能得到答案,但是我想亲眼看看程序代码中的问题,我想看看程序的OOP样式代码如何消除前面提到的错误。使用程序范例编写相同的程序。 OOP有很多功能,我理解没有人可以向我解释所有这些功能如何消除以程序样式编写代码会产生的上述错误。 所以,这是我的问题: OOP解决了程序编程的哪些限制,并且在实践中如何有效消除这些限制? 特别是,是否存在使用程序范例难以设计但易于使用OOP设计的程序的示例? PS:交叉发布于:https : //stackoverflow.com/q/22510004/3429430