- < ?php
- class UserName
- {
- //属性を定義します
- private $name
- //コンストラクターを定義します
- function __construct( $name )
- {
- $this->name = $name
//このポインタはここで使用されています - }
- //デストラクター
- function __destruct(){}
- //Print user name member function
-
function printName( )
- {
-
print( $this->name )
//PHP キーワード this ポインターが再度使用されます
- }
-
- / /インスタンス化されたオブジェクト
-
$nameObject = new UserName
( "heiyeluren" ) // 印刷を実行 -
$nameオブジェクト-
-
>printName(); //出力: heiyeluren
//オブジェクトの 2 番目のインスタンス化
- $
- nameObject2 = 新しい ユーザー名( " PHP5" ); //印刷を実行
- $nameObject2-
-
>printName(); //出力: PHP5
?> ;-
上記のクラスがそれぞれ 11 行目と 20 行目でこのポインタを使用していることがわかります。では、この時点でこれは誰を指しているのでしょうか?実際、これはオブジェクトをインスタンス化するときに誰を指すかを決定します。たとえば、オブジェクトが初めてインスタンス化されるとき (25 行目)、this は $nameObject オブジェクトを指します。その後、18 行目で print( $this. ->name ) になると、当然 "heiyeluren" が出力されます。
2 番目のインスタンスでは、print( $this->name ) が print( $nameObject2->name ) になるため、「PHP5」が出力されます。したがって、PHP キーワード this は現在のオブジェクト インスタンスへのポインターであり、他のオブジェクトやクラスを指すものではありません。
http://www.bkjia.com/PHPjc/445969.html
www.bkjia.com
truehttp://www.bkjia.com/PHPjc/445969.html技術記事 ?php classUserName { // 属性を定義 private$name; // コンストラクターを定義 function__construct($name) { $this- name =$name がここで使用されています } // デストラクター function_...