【问题标题】:Do not want to instantiate objects in php classes不想在 php 类中实例化对象
【发布时间】:2013-09-04 15:09:04
【问题描述】:

我可以在 PHP 中使用静态类吗? 实际上我不想实例化我的类,那么有没有可能像我们在 Java 和 C# 中那样做呢?

【问题讨论】:

标签: php oop static


【解决方案1】:

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

您可以将构造函数声明为私有的,这将防止类被实例化,也可以防止此类被继承,将类声明为 final。

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

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

【讨论】:

    【解决方案2】:

    是的,声明这个类抽象。您将能够使用静态方法,但不能实例化。
    并且永远不要向任何运行速度比你快的程序员展示这段代码。

    【讨论】:

    • 抽象类没有错。但是静态方法是针对 OOP 的。
    • @OZ_ 静态方法本身并不反对 OOP,它们是其中有用的一部分。但是如果你只使用静态方法而不实例化一个对象,那么你就不是在练习 OOP。
    猜你喜欢
    • 2021-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-28
    • 1970-01-01
    • 2016-01-18
    • 1970-01-01
    相关资源
    最近更新 更多