如果这个问题看起来很简单,请原谅我 - 我正在查看一些看起来很不错的源代码,但它提出了一些问题......
如果给定的类没有成员数据 - 即它没有维护任何类型的状态,那么将该类标记为静态方法的静态类是否有任何好处?
不标记不保持静态状态的方法有什么好处吗?
谢谢!
编辑:由于有人提出来,我正在看的代码是用c#编写的。答案 0 :(得分:8)
是。我可以想到一些原因:
interface
或其他东西)答案 1 :(得分:2)
我想说使它们成为类的静态方法是有好处的,并且最重要的是使类抽象化。这样,程序员很清楚这个类从来没有打算实例化,方法仍然可用。
答案 2 :(得分:2)
如果您打算(或者认为您可能打算)继承该类并使用所做的代码改变状态。虽然在那种情况下它确实应该是一个抽象类。
答案 3 :(得分:2)
如果一个类没有维护任何状态,没有任何实例方法,并且可以完全用类方法实现,我通常会仔细研究它的行为是否实际上在其他地方更有意义。我发现它们通常似乎有很多方法doSomethingWithItem(Item item)
,这在Item
中作为实例方法更有意义。
是的,我知道这不能回答你的问题,但我认为其他人已经很好地解决了这个问题,我想在那里得到另一个观点。