ホームページ  >  記事  >  バックエンド開発  >  現在のオブジェクトを指す PHP キーワード pointer_PHP チュートリアル

現在のオブジェクトを指す PHP キーワード pointer_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-15 13:34:35934ブラウズ

  1. < ?php
  2. class UserName
  3. {
  4. //属性を定義します
  5. private $name
  6. //コンストラクターを定義します
  7. function __construct( $name )
  8. {
  9. $this->name = $name
    //このポインタはここで使用されています
  10. }
  11. //デストラクター
  12. function __destruct(){}
  13. //Print user name member function
  14. function printName( )
  15. {
  16. print( $this->name )
    //PHP キーワード this ポインターが再度使用されます
  17. }
  18. / /インスタンス化されたオブジェクト
  19. $nameObject = new UserName
    ( "heiyeluren" ) // 印刷を実行
  20. $nameオブジェクト-
  21. >printName(); //出力: heiyeluren
    //オブジェクトの 2 番目のインスタンス化
  22. $
  23. nameObject2 = 新しい ユーザー名( " PHP5" ); //印刷を実行
  24. $nameObject2-
  25. >printName(); //出力: PHP5
  26. ?> ;
  27. 上記のクラスがそれぞれ 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

http://www.bkjia.com/PHPjc/445969.html技術記事 ?php classUserName { // 属性を定義 private$name; // コンストラクターを定義 function__construct($name) { $this- name =$name がここで使用されています } // デストラクター function_...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。