程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php面向對象全攻略 (三)特殊的引用“$this”的使用

php面向對象全攻略 (三)特殊的引用“$this”的使用

編輯:PHP綜合
7.特殊的引用“$this”的使用
現在我們知道了如何訪問對象中的成員,是通過“對象->成員”的方式訪問的,這是在對
象的外部去訪問對象中成員的形式,那麼如果我想在對象的內部,讓對象裡的方法訪問本對
象的屬性,或是對象中的方法去調用本對象的其它方法這時我們怎麼辦?因為對象裡面的所
有的成員都要用對象來調用,包括對象的內部成員之間的調用,所以在PHP 裡面給我提供了
一個本對象的引用$this,每個對象裡面都有一個對象的引用$this 來代表這個對象,完成對象
內部成員的調用,this 的本意就是“這個”的意思,上面的實例裡面,我們實例化三個實例
對象$P1、$P2、$P3,這三個對象裡面各自存在一個$this 分別代表對象$p1、$p2、$p3。
通過上圖我們可以看到,$this 就是對象內部代表這個對象的引用,在對象內部和調用本
對象的成員和對象外部調用對象的成員所使用的方式是一樣的。
$this->屬性$this->name; $this->age; $this->sex;
$this->方法$this->say(); $this->run();
修改一下上面的實例,讓每個人都說出自己的名字,性別和年齡:
代碼片段
復制代碼 代碼如下:
<?php
class Person{
//下面是人的成員屬性
var $name; //人的名字
var $sex; //人的性別
var $age; //人的年齡
//下面是人的成員方法
function say(){//這個人可以說話的方法
echo "我的名字叫:".$this->name." 性別:".$this->sex." 我的年齡是:".$this->age."<br>";
}
function run(){ //這個人可以走路的方法
echo "這個人在走路";
}
}
$p1=new Person(); //創建實例對象$p1
$p2=new Person(); //創建實例對象$p2
$p3=new Person(); //創建實例對象$p3
//下面三行是給$p1對象屬性賦值
$p1->name="張三";
$p1->sex="男";
$p1->age=20;
//下面訪問$p1對象中的說話方法
$p1->say();
//下面三行是給$p2對象屬性賦值
$p2->name="李四";
$p2->sex="女";
$p2->age=30;
//下面訪問$p2對象中的說話方法
$p2->say();
//下面三行是給$p3對象屬性賦值
$p3->name="王五";
$p3->sex="男";
$p3->age=40;
//下面訪問$p3對象中的說話方法
$p3->say();
?>

輸出結果
我的名字叫:張三性別:男我的年齡是:20
我的名字叫:李四性別:女我的年齡是:30
我的名字叫:王五性別:男我的年齡是:40
分析一下這個方法:
代碼片段
function say(){ //這個人可以說話的方法
echo "我的名字叫:".$this->name." 性別:".$this->sex." 我的年齡是:".$this->age."<br>";
}
在$p1、$p2 和$p3 這三個對象中都有say()這個方法,$this 分別代表這三個對象,調用相應的屬性,打印出屬性的值,這就是在對象內部訪問對象屬性的方式,如果相在say()這個方
法裡調用run()這個方法也是可以的,在say()這個方法中使用$this->run()的方式來完成調用。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved