语言无关 – 一个类是否应该有静态和非静态成员

我想弄清楚什么时候适合一个类同时具有静态和非静态函数.又名:

$obj = new ClassA;
$obj->doOOPStuff();

$something = ClassA::doStaticStuff();

注意:此示例在PHP中完成,但问题是语言无关.

似乎如果你有一个要实例化的类,任何可以静态调用的函数,很可能属于另一个类.

有没有可行的案例,我会有一个使用静态和非静态成员的类?

最佳答案
一个例子:创建必须以特定方式发生.

class Foo {
public:
  static Foo* Create(...params...);

private:
  Foo();
};

转载注明原文:语言无关 – 一个类是否应该有静态和非静态成员 - 代码日志