由于静态数据,有时很难在应用程序中找到错误。在OOP中使用静态数据是一种好方法还是更好地避免它? 提前谢谢。
更新:
您使用静态类的频率和用途是什么?
答案 0 :(得分:2)
一般来说,static
方法导致代码很难测试,因为
但是有一些有效的用例。
我通常会避免使用static
方法,并且默认原则是需要激励任何static
内容的存在。
正如@Louis所指出的,static
变量对于提供单实例常量很有用。通常,这也适用于保存诸如Logger之类的对象的成员变量。
答案 1 :(得分:1)
静态不应该被过度使用,但在某些情况下是值得的,你应该使用静态方法来提供与实例对象没有直接关系的工厂方法或辅助方法。
每次想要执行操作或表示与类相关的数据而不是对象实例时,静态方法是值得的,因此根本不应该避免使用静态的方法,而是仅使用静态方法什么时候真的需要。
在大多数情况下对你的问题没有绝对答案(避免或不使用静态),它取决于上下文,但你应该不要滥用静电...