self
キーワードは、現在のメソッドが配置されているクラス自体ではなく、クラス内のクラスを置換するために使用されます。 sub クラス が
親クラスのメソッド にアクセスするとき、
self は現在のクラスとアクセスするクラスを置き換えますか?
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><?php
class Fu{
public static $type="Fu";
public static function getType(){
echo self::$type." self<br>";
}
}
class Zi extends Fu{
public static $type="Zi";
}
Fu::gettype();//Fu self
Zi::gettype();//Fu self
?></pre><div class="contentsignin">ログイン後にコピー</div></div>
上の例に示すように、
self
メソッドにアクセスするときに訪問者が属するクラスを動的に選択する場合は、クラス メンバーにアクセスするために
self
静的キー を使用する必要があります。
<?php class Fu{ public static $type="Fu"; public static function getType(){ echo self::$type." self<br>";//类的静态绑定 echo static::$type." static<br>";//类的静态延迟绑定 } } class Zi extends Fu{ public static $type="Zi"; } Fu::gettype();//Fu self Fu self Zi::gettype();//Fu self Zi static ?>
推奨: p以上がself は現在のクラスを表しますか、それとも継承内のアクセス クラスを表しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。