php (十一) 物件導向 通過類執行個體化對象
來源:互聯網
上載者:User
1. 執行個體化對象 當定義好類後,我們使用new關鍵字來產生一個對象。 $對象名稱 = new 類名稱();樣本: [php] <span style="color:#333333;"><?php class Person { //下面是人的成員屬性 var $name; //人的名子 var $sex; //人的性別 var $age; //人的年齡 //下面是人的成員方法 function say() //這個人可以說話的方法 { echo "這個人在說話"; } function run() //這個人可以走路的方法 { echo "這個人在走路"; } } $p1=new Person(); $p2=new Person(); ?></span><span style="color:#ff0000;"> </span> 2. 訪問對象中的成員 $p1=new Person(); 怎麼去使用對象的成員呢?要想訪問對象中的成員就要使用一個特殊的操作符“->”來完成對象成員的訪問,類似於 java裡面的 " . " 樣本: [php] <?php class Person { //下面是人的成員屬性 var $name; //人的名子 var $sex; //人的性別 var $age; //人的年齡 //下面是人的成員方法 function say() //這個人可以說話的方法 { echo "這個人在說話"; } function run() //這個人可以走路的方法 { echo "這個人在走路"; } } $p1=new Person(); //建立執行個體對象$p1 $p2=new Person(); //建立執行個體對象$p2 $p3=new Person(); //建立執行個體對象$p3 //下面三行是給$p1對象屬性賦值 $p1->name=”張三”; $p1->sex=”男”; $p1->age=20; //下面三行是訪問$p1對象的屬性 echo “p1對象的名子是:”.$p1->name.”<br>”; echo “p1對象的性別是:”.$p1->sex.”<br>”; echo “p1對象的年齡是:”.$p1->age.”<br>”; //下面兩行訪問$p1對象中的方法 $p1->say(); $p1->run(); //下面三行是給$p2對象屬性賦值 $p2->name=”李四”; $p2->sex=”女”; $p2->age=30; //下面三行是訪問$p2對象的屬性 echo “p2對象的名子是:”.$p2->name.”<br>”; echo “p2對象的性別是:”.$p2->sex.”<br>”; echo “p2對象的年齡是:”.$p2->age.”<br>”; //下面兩行訪問$p2對象中的方法 $p2->say(); $p2->run(); //下面三行是給$p3對象屬性賦值 $p3->name=”王五”; $p3->sex=”男”; $p3->age=40; //下面三行是訪問$p3對象的屬性 echo “p3對象的名子是:”.$p3->name.”<br>”; echo “p3對象的性別是:”.$p3->sex.”<br>”; echo “p3對象的年齡是:”.$p3->age.”<br>”; //下面兩行訪問$p3對象中的方法 $p3->say(); $p3->run(); ?> 3. 特殊的引用“$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] <?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