ホームページ  >  記事  >  バックエンド開発  >  PHPの基礎知識:クラスとオブジェクト(4)範囲解決演算子(::)_PHPチュートリアル

PHPの基礎知識:クラスとオブジェクト(4)範囲解決演算子(::)_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:59:201133ブラウズ

スコープ解決演算子 (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

tru​​e

http://www.bkjia.com/PHPjc/317404.html

技術記事

スコープ解決演算子 (PaamayimNekudotayim とも呼ばれます)、またはもっと単純にコロンのペアを使用すると、静的メンバー、メソッド、定数にアクセスでき、オーバーライドされたクラスにアクセスすることもできます...

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。