2015-09-04 148 views
0

为什么我们要使用面向对象的概念? OOP有哪些优点/缺点? 我们在哪里使用面向对象? 我们如何判断一个程序是否可以用OOP范式编写?它是如何组织的?为什么要使用OOP概念? OOP的用法是什么?

注:我没有相关技术领域......所以请在你的答案考虑这一点。

+0

Stack Overflow是不是总结了几段很广,技术科目的门外汉可以明白的地方。 – CodeCaster

+1

您可能会发现更多愿意在www.reddit.com上回答您的问题的人 –

回答

1

总之:减少编写,维护并了解软件所需的认知负荷。

软件系统本身就很复杂,因此开发者需要一些工具来打破东西下来,可以进行分析,并没有巨大努力理解模块和各个组件 - 和OOP就是这样一种工具。

0

这是一个相当大的问题。我试着给你的感觉,为什么我们做开发空中接力一样,SOA,校长....

大部分的主要目标,使软件那么复杂。想象一下具有1.000.000功能的文件。这将很难找到你想改变。特别是如果没有像“更新”那样的非常像wqell的名字,那么你可以有一千个“更新”方法。

经常的事情是那么复杂,如果你没有看到完整的信息库,以便您可以集中精力和事情,你可能需要。那也是为什么有像information hiding principle这样的想法。

另一件事是,当你有标准你必须思考的问题。例如在现实生活中,你知道你可以坐在椅子上(这是一个标准),你不会想这件事。这就是为什么标准变得更容易。 OOP的某些方面建立了标准(例如使用类),因此复杂度稍低。

将职能分组的类可能是朝向oop的第一步。现在,当你搜索一个函数时,你最有可能知道你想要修改“custoemr”,所以你知道这个函数可能在客户类中,你只能查看这些方法。

而大多数时间多数民众赞成什么。使得软件更容易阅读和理解

OOP是更多而不是唯一的范例。但是有更多的和OOP有这么多的校长和interprations。在这里解释和讨论它太多了。我还建议你看看CleanCoders运动,它提供了更一般的方式。