在OOP中开发应用程序时,是否应尽可能避免使用静态方法?
答案 0 :(得分:1)
不,他们不应该。
任何不对象实例操作的方法都应该是static
。
如果您不需要对象实例,则没有必要。
答案 1 :(得分:1)
有一些非常具体的案例规定了它们的用法,例如将类方法传递给需要函数指针的C API或创建某些模式(如Singleton)的方法。一般来说,除非有充分的理由,否则你不想使用它。
否则不鼓励使用它们,因为它们在某些有限的情况下使用意味着您存在全局数据,因为它们无法自动访问“this”指针。这违反了OO原则,例如数据隐藏。
答案 2 :(得分:0)
在我看来,静态方法比实例方法简单,因此应尽可能使用它们。
问题是要知道什么时候不可能:通常,即方法需要读取或写入对象/实例数据成员时。
答案 3 :(得分:0)
这取决于 - 如果你真的只需要编写一个独立的函数,那么在Java或C#等OOP语言中需要一个静态方法。在这种情况下,您可以创建某种包含各种静态方法的Utility
类。