抽象静的メソッド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
-
C#での仮想vs封印vs新規vs抽象
仮想 virtualキーワードを使用すると、クラスをオーバーライドできます。子クラスの親クラスメソッドをオーバーライドするには、親クラスメソッドを仮想として宣言します。 封印 クラスが封印されていると宣言されている場合、それを継承することはできません。抽象クラスは封印されていると宣言することはできません。 上書きされないように、C#で封印されたものを使用してください。メソッドのC#で封印された修飾子を使用すると、メソッドはオーバーライドする機能を失います。封印されたメソッドは派生クラスの一部である必要があり、メソッドはオーバーライドされたメソッドである必要があります。 public se
-
Pythonクラスの静的メソッドとは何ですか?
すべてのPythonクラスには、インスタンスメソッド、クラスメソッド、静的メソッドの3種類のメソッドがあります。 例 コードを検討する class OurClass: def method(self): return 'instance method called', self @classmethod def classmethod(cls): return 'c