PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

抽象静的メソッドPHPのインスタンス子クラス?


これには、$ 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

  1. C#での仮想vs封印vs新規vs抽象

    仮想 virtualキーワードを使用すると、クラスをオーバーライドできます。子クラスの親クラスメソッドをオーバーライドするには、親クラスメソッドを仮想として宣言します。 封印 クラスが封印されていると宣言されている場合、それを継承することはできません。抽象クラスは封印されていると宣言することはできません。 上書きされないように、C#で封印されたものを使用してください。メソッドのC#で封印された修飾子を使用すると、メソッドはオーバーライドする機能を失います。封印されたメソッドは派生クラスの一部である必要があり、メソッドはオーバーライドされたメソッドである必要があります。 public se

  2. Pythonクラスの静的メソッドとは何ですか?

    すべてのPythonクラスには、インスタンスメソッド、クラスメソッド、静的メソッドの3種類のメソッドがあります。 例 コードを検討する class OurClass:     def method(self):         return 'instance method called', self      @classmethod     def classmethod(cls):         return 'c