ホームページ  >  記事  >  php教程  >  PHPオブジェクト指向ガイド(3) 特殊参照「$this」の使い方

PHPオブジェクト指向ガイド(3) 特殊参照「$this」の使い方

WBOY
WBOYオリジナル
2016-06-13 12:21:33731ブラウズ

7. 特別な参照 "$this" の使用
これで、
Members" を通じてアクセスされるオブジェクト内のメンバーにアクセスする方法がわかりました。 🎜> 🎜>オブジェクトの外部からオブジェクトのメンバーにアクセスする形式。オブジェクト内のメソッドがこのオブジェクトのプロパティにアクセスできるようにする場合
オブジェクトの内部から、またはオブジェクト内のメソッドが呼び出します。このオブジェクトの他のメソッド このときどうすればよいでしょうか?オブジェクト内のすべての
メンバーは、オブジェクトの内部メンバー間の呼び出しを含め、オブジェクトを使用して呼び出す必要があるため、PHP にはオブジェクトごとにこのオブジェクトへの参照 $this が
として提供されています。その中で $this を参照してオブジェクトを表し、オブジェクト
の内部メンバーの呼び出しを完了します。上記の例では、
オブジェクト $ の 3 つのインスタンスをインスタンス化します。 P1、$P2、$P3、これら 3 つのオブジェクトのそれぞれに $this が 1 つあり、それぞれオブジェクト $p1、$p2、$p3 を表します。
上の図から、$this がオブジェクト内部のオブジェクトを表す参照であることがわかります。オブジェクト内部でこのオブジェクトのメンバーを呼び出すために使用されるメソッドは、外部のオブジェクトのメンバーを呼び出すために使用されるメソッドと同じです。オブジェクト。
$this->プロパティ$this->名前; $this->性別;
$this->say(); ->run();
全員が自分の名前、性別、年齢を言うように上記の例を変更します:
コード スニペット

コードをコピーコードは次のとおりです。

class person{
//以下は person のメンバー属性です
var $name;人の
var $sex; //人の性別
var $age; //人の年齢
//人のメンバーメソッドは次のとおりです
関数say(){//この人話すことができます Method
echo "私の名前は: ".$this->name." 性別: ".$this->sex." 私の年齢: ".$this->age."< br>";
}
function run(){ //この人はどのように歩くことができます
echo "この人は歩いています";
}
}
$p1=new person (); //インスタンスオブジェクトを作成 $p1
$p2=new Person(); //インスタンスオブジェクトを作成 $p2
$p3=new Person(); //インスタンスオブジェクトを作成 $p3
/ /次の 3 行は、$p1 オブジェクト属性
$p1->name="Zhang San";
$p1->sex=" Male"; に値を割り当てます。 >age =20;
//以下は $p1 オブジェクトの発話メソッドにアクセスします
$p1->say();
//以下の 3 行はプロパティに値を割り当てます$p2 オブジェクトの
$p2->name="李思";
$p2->age=30; /以下は $p2 オブジェクトの発話メソッドにアクセスします
$p2->say()
//以下の 3 行は $p3 オブジェクトの属性に値を割り当てます
$p3 ->name="王五";
$p3->sex ="男";
$p3->age=40>// 以下は $ 内の発話メソッドにアクセスします。 p3 オブジェクト
$p3->say();
?>
出力結果
私の名前:Zhang San 性別:男性 私の年齢:20
私の名前は: Li Si 性別: 女性 私の年齢: 30 歳
私の名前: Wang Wu 性別: 男性 私の年齢: 40
このメソッドを分析します:
コード スニペット

function Say( ){ //この人の話し方
echo "私の名前は: ".$this->name." 性別: ".$this->sex." 私の年齢: ".$this-> ;age."
";
}
$p1、$p2、$p3 の 3 つのオブジェクトには、say() メソッドがあり、これらの 3 つのオブジェクトをそれぞれ呼び出します。属性の値を出力します。 これは、オブジェクト内のオブジェクトのプロパティにアクセスするには、say() メソッドで run() メソッドを呼び出す場合、$this->run() を使用することもできます。 Say() メソッドを使用して呼び出しを完了します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。