<分区>
人们说静态实用方法在 OOP 中不好,因为它们不遵循 OOP 的做事方式。
我知道静态实用程序方法来自更传统的过程编程范例。人们说真正的 OOP 将在对象意义上对现实世界进行建模,将状态和行为封装为一个。
这是真的吗?
如果是这样,现代 OOP 中最好的做法是完全不使用静态实用方法吗?还是仍然普遍使用它们? 后一个问题是否更像是“取决于”情况?
<分区>
人们说静态实用方法在 OOP 中不好,因为它们不遵循 OOP 的做事方式。
我知道静态实用程序方法来自更传统的过程编程范例。人们说真正的 OOP 将在对象意义上对现实世界进行建模,将状态和行为封装为一个。
这是真的吗?
如果是这样,现代 OOP 中最好的做法是完全不使用静态实用方法吗?还是仍然普遍使用它们? 后一个问题是否更像是“取决于”情况?
最佳答案
静态方法(无副作用)在计算机科学中称为函数。
我认为函数式编程更优越已成为普遍共识。
面向对象编程的优点是state对它来说是迫在眉睫的,与FP相比可以使事情变得更直接。
但是在静态方法的情况下函数是好的。适用于低级值。如果情况是许多函数在更复杂的类上运行,则可能会出现问题。也许这些类不必要地复杂,逻辑太复杂。
将 BigDecimal 与带有静态方法的理论版本进行比较,用于加法、乘法等。函数可能会更易读。
关于java - 静态实用方法不是纯粹的面向对象编程吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32395070/