ホームページ >バックエンド開発 >PHPチュートリアル >PHPプログラミングのselfキーワードの説明_PHPチュートリアル

PHPプログラミングのselfキーワードの説明_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-21 14:56:29965ブラウズ

Bkjia.Com プログラミングドキュメント self は通常、現在のクラスの静的メソッドと定数を指し、self:: にメソッド名と定数名を加えたものを使用して参照されます。 $this は、$this-> とメソッド名およびインスタンス変数を使用して参照される、現在のクラスのインスタンス オブジェクトを指します。パラメータがコールバックである一部のメソッドでは、call_user_func('self', $method) のように、self を直接使用する代わりに、文字列 'self' を使用して現在のクラスを指すことができます。

さらに、self は常に現在のクラスのメソッドと定数を参照します。同じ名前のメソッドの場合、サブクラスは親クラスの静的メソッドを呼び出します。サブクラスのメソッドが親クラスのメソッドをオーバーライドする場合は、parent:: を使用して親クラスのメソッドを参照できます。

以下は引用内容です:
interface AppConstants {
const FOOBAR = 'Hello, World.';
}

class Exampleimplements AppConstants {
public function test() {
echo self :: FOOBAR;
}
}

$obj = new Example();
$obj->test(); // 「Hello, world.」を出力します

class MyClass {
const NAME = 'Foo';

protected function myFunc( ) {
echo "MyClass::myFunc()n";
}
static public function display() {
echo self :: NAME;
}
static public function getInstance() {
$instance = new self;
return $instance;
}
}

class ChildClass extends MyClass {
const NAME = 'Child';

// 親の定義をオーバーライドします
public function myFunc() {
// ただし、親関数を呼び出します
parent :: myFunc ( );
echo "ChildClass::myFunc()n";
}
}

$class = new ChildClass();
$class->myFunc();


echo('クラス定数: ') ;
ChildClass::display();
echo('オブジェクトクラス: ');
echo(get_class(ChildClass::getInstance()));
?>

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/364235.html技術記事 LieHuo.Net プログラミング ドキュメント self は通常、現在のクラスの静的メソッドと定数を指し、self:: にメソッド名と定数名を加えたものを使用して参照されます。 $this は現在のクラスのインスタンスを指します...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。