java - 静态实用方法不是纯粹的面向对象编程吗?

标签 java oop static-methods

<分区>

人们说静态实用方法在 OOP 中不好,因为它们不遵循 OOP 的做事方式。

我知道静态实用程序方法来自更传统的过程编程范例。人们说真正的 OOP 将在对象意义上对现实世界进行建模,将状态和行为封装为一个。

这是真的吗?

如果是这样,现代 OOP 中最好的做法是完全不使用静态实用方法吗?还是仍然普遍使用它们? 后一个问题是否更像是“取决于”情况?

最佳答案

静态方法(无副作用)在计算机科学中称为函数

我认为函数式编程更优越已成为普遍共识。

面向对象编程的优点是state对它来说是迫在眉睫的,与FP相比可以使事情变得更直接。

但是在静态方法的情况下函数是好的。适用于低级值。如果情况是许多函数在更复杂的类上运行,则可能会出现问题。也许这些类不必要地复杂,逻辑太复杂。

将 BigDecimal 与带有静态方法的理论版本进行比较,用于加法、乘法等。函数可能会更易读。

关于java - 静态实用方法不是纯粹的面向对象编程吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32395070/

相关文章:

java - Xades4J 兼容 PKCS11 native 库中应该包含什么?

php - PDO 将类获取为分组集合对象,而不是数组中的单个对象

Javascript 令人困惑的 null、instanceof 和 typeof 语法不一致?

java - BDB LongBinding 与 ByteArrayBinding 静态方法

c++ - 类的静态函数和类的构造函数是什么关系?

c++ - 我应该从静态成员方法返回什么类型的指针

java - 根据键和值对映射进行排序

java - 线程安全警告

java - Java Web 应用程序的高线程上下文切换

php - PHP 中类方法的默认可见性