gpt4 book ai didi

oop - OOP 更适合什么时候使用?

转载 作者:行者123 更新时间:2023-12-03 09:18:34 26 4
gpt4 key购买 nike

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center为指导。




8年前关闭。




自从我开始学习面向对象编程以来,我经常阅读文章/博客说函数更好,或者不是所有的问题都应该建模为对象。从您的个人编程冒险中,您认为什么时候可以通过 OOP 更好地解决问题?

最佳答案

没有硬性规定。当您更擅长解决问题并以面向对象的心态思考时,使用面向对象编程可以更好地解决问题。面向对象只是另一种工具,它是通过尝试使计算成为解决问题的更好工具而出现的。

然而,它可以允许更好的代码重用,并且还可以导致更整洁的代码。但很多时候,这些备受赞誉的品质实际上并没有什么实际值(value)。将 OO 技术应用于现有的功能性应用程序可能会导致很多问题。技能在于学习许多不同的技术,并将最适合手头的问题应用到其中。

OO 通常被引用为软件开发的 Nirvana-like 解决方案,但是很多时候它不适合应用于手头的问题。很多时候,它会导致对问题进行过度设计以达到完美的解决方案,而这通常实际上是不必要的。

从本质上讲,OOP 并不是真正的面向对象编程,而是将面向对象思维映射到能够支持 OO 技术的编程语言。 OO 技术可以由本质上不是 OO 的语言支持,并且您可以在函数式语言中使用一些技术来利用这些优势。

举个例子,我已经开发 OO 软件大约 20 年了,所以我在解决问题时倾向于用 OO 术语来思考,而不管我用什么语言编写。目前我正在使用 Perl 5.6 实现多态,而 Perl 5.6 本身并没有支持它。我选择这样做是因为它会使代码的维护和扩展成为一个简单的配置任务,而不是一个开发问题。

不知道这是否清楚。 OO法庭上有人硬,职能法庭也有人硬。然后有些人两者都尝试过,并试图从每一个中发挥最好的作用。两者都不是完美的,但两者都有一些非常好的特性,无论使用什么语言,您都可以利用它们。

如果您正在尝试学习 OOP,不要只专注于 OOP,而是尝试将面向对象分析和一般 OO 原则用于解决问题的整个范围。

关于oop - OOP 更适合什么时候使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6703/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com