Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
不希望在php类中实例化对象_Php_Oop_Static - Fatal编程技术网

不希望在php类中实例化对象

不希望在php类中实例化对象,php,oop,static,Php,Oop,Static,我可以在PHP中使用静态类吗? 事实上,我不想实例化我的类,所以有没有一种可能的方法可以像Java和C#中那样实现呢?不,你不能在PHP中将类声明为静态的,至少我不知道这一点。但是,您可以在static类中声明函数 您可以将构造函数声明为private,这将防止类被实例化,并且为了防止继承此类,可以将类声明为final final class MyClass private function __construct() { // Cannot instantiate this cla

我可以在PHP中使用静态类吗?
事实上,我不想实例化我的类,所以有没有一种可能的方法可以像Java和C#中那样实现呢?

不,你不能在PHP中将类声明为静态的,至少我不知道这一点。但是,您可以在static类中声明函数

您可以将构造函数声明为private,这将防止类被实例化,并且为了防止继承此类,可以将类声明为final

final class MyClass
  private function __construct() {
    // Cannot instantiate this class
  }

  public static function myStaticFunction() {
    // static function
  }
}

是,将这个类声明为抽象类。您可以使用静态方法,但不能实例化。

不要向任何运行速度比您快的程序员显示此代码。

是。但是:。你有RTFM吗?抽象类没有问题。但是静态方法是反对OOP的。@OZ_u静态方法本身并不反对OOP,它们是OOP的一个有用部分。但是,如果您只使用静态方法,而从未实例化过对象,那么您就不是在实践OOP。