Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

อินสแตนซ์คลาสลูกในวิธีคงที่นามธรรม PHP?


สำหรับสิ่งนี้ ให้ใช้ $anyObjectName=new static() ร่วมกับตนเอง

ตัวอย่าง

รหัส 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