スコープ解決演算子 (Paamayim Nekudotayim とも呼ばれます)、またはより単純にコロンのペアを使用して、静的メンバー、メソッド、定数にアクセスできます。また、オーバーライドされたクラスのメンバーやメソッドにアクセスするためにも使用できます。
クラス外のこれらの静的メンバー、メソッド、定数にアクセスする場合は、クラスの名前を使用する必要があります。
Paamayim Nekudotayim はヘブライ語で二重コロンを意味します。
クラスの外で :: 演算子を使用する
class MyClass {
const CONST_VALUE = '定数値';
echo MyClass::CONST_VALUE; これら 2 つの特別なキーワードが使用されます。クラス。
例:
class OtherClass extends MyClass
{
public static $my_static = 'static var';
public static function doubleColon() {
echoparent::CONST_VALUE . " n"
echo self::$my_static " n";
}
}
OtherClass::doubleColon();
サブクラスが親クラスのメソッドをオーバーライドする場合、PHP は、サブクラスで呼び出されるまで、親クラスでオーバーライドされたメソッドを実行しません。 。 (それはナンセンスですか? いいえ、これは PHP と他の主流言語とのちょっとした違いです)。このメカニズムは、コンストラクターとデストラクター、オーバーロード、およびマジック関数でも機能します。
class MyClass
{
protected function myFunc() {
echo "MyClass::myFunc() n";
}
}
class OtherClass extends MyClass
{
// クラス内の親メソッドをオーバーライドします
public function myFunc ()
{ただし // ただし、カバーされたメソッド
parent :: myfunc ();
$class->myFunc(); を呼び出すことはできます。 --------------------------------- --------------- ----------------------------
??重要なポイント? 静的メソッドまたはメンバーにアクセスするときは、クラス名を使用する必要があります::方法。
もう 1 つの注意: PHP は、コンストラクターやデストラクターを含む親クラスのメソッドを積極的に呼び出しません。
このテキストを参照してください: http://163xiaofan.blog.163.com/blog/static/1713578020061027101820973
http://www.bkjia.com/PHPjc/317404.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/317404.html
技術記事
スコープ解決演算子 (PaamayimNekudotayim とも呼ばれます)、またはもっと単純にコロンのペアを使用すると、静的メンバー、メソッド、定数にアクセスでき、オーバーライドされたクラスにアクセスすることもできます...