人们说静态实用方法在OOP中是不好的,因为他们不遵循OOP的做事方式。
我知道静态实用程序方法来自更传统的过程编程范例。人们说真正的OOP会在物体意义上模拟现实世界,包含状态和状态。行为合而为一。
这是真的吗?
如果是这样,现代OOP中的最佳做法是不使用静态实用方法吗?或者使用它们仍然很常见? 后一个问题是否会更多地取决于'情况?
答案 0 :(得分:6)
静态方法(没有副作用)在计算机科学中名为函数。
我认为功能编程是优越的,这是普遍的共识。
面向对象编程的优点是状态迫在眉睫,而与FP相比可以使事情变得更加直接。
然而,在静态方法的情况下,函数很好。适用于低级别值。如果案例是在更复杂的类上运行的许多函数,则可能存在问题。也许这些课程不必要地复杂,逻辑太复杂。
将BigDecimal与理论版本进行比较,使用静态方法进行加法,乘法等。函数可能更易读。
答案 1 :(得分:1)
简而言之,是的,静态实用程序方法违反了OOP范例。你应该使用它们吗?这取决于你想要的纯粹主义者,以及其他一些东西。有些人甚至call them evil:)
但是,我觉得你问这个问题真是太好了。您对OOP了解得越多,以及它与软件开发的其他范例之间的差异,您在选择备选方案时就会更加了解情况。答案 2 :(得分:-1)
类也是对象。 static关键字将类的成员与其实例的成员区分开来。