在 PHP 抽象静态方法中实例化子类?

phpserver side programmingprogramming

为此,请使用 $anyObjectName=new static() 和 self。

示例

PHP 代码如下

<!DOCTYPE html>
<html>
<body>
<?php
abstract class Base{
   protected static $fullName = '';
   abstract protected function customFunction();
   public static function get_obj($param1 = null, $param2 = null){
      $obj = new static();
      $obj->customFunction();
   }
   public static function getFullName(){
      return static::$fullName;
   }
}
class Child extends Base {
   protected static $fullName = 'John Doe';
   protected function customFunction(){
      echo self::getFullName() . "<br>";
      echo  $this;
   }
}
Child::get_obj();
?>
</body>
</html>

输出

这将产生以下输出 −

John Doe

相关文章