国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP面向?qū)ο?OOP)編程:this的特殊用法

2024-09-04 11:43:49
字體:
供稿:網(wǎng)友

現(xiàn)在我們知道了如何訪問對象中的成員,是通過”對象->成員”的方式訪問的,這是在對象的外部去訪問對象中成員的形式,那么如果我想在對象的內(nèi)部,讓對象里的方法訪問本對象的屬性.

或是對象中的方法去調(diào)用本對象的其它方法這時我們怎么辦?因為對象里面的所有的成員都要用對象來調(diào)用,包括對象的內(nèi)部成員之間的調(diào)用,所以在PHP里面給我提供了一個本對象的引用$this,每個對象里面都有一個對象的引用$this來代表這個對象,完成對象內(nèi)部成員的調(diào)用,this的本意就是“這個”的意思,上面的實例里面,我們實例化三個實例對象$P1、 $P2、 $P3,這三個對象里面各自存在一個$this分別代表對象$p1、$p2、$p3 。

PHP面向?qū)ο?OOP)編程:“$this”的特殊用法

$this就是對象內(nèi)部代表這個對象的引用,在對象內(nèi)部和調(diào)用本對象的成員和對象外部調(diào)用對象的成員所使用的方式是一樣的,代碼如下:

  1. $this->屬性:$this->name; $this->age; $this->sex; 
  2. $this->方法:$this->say(); $this->run(); 

修改一下上面的實例,讓每個人都說出自己的名字,性別和年齡,代碼如下:

  1. <?php 
  2. class Person 
  3.  //下面是人的成員屬性 
  4.  var $name//人的名子 
  5.  var $sex//人的性別 
  6.  var $age//人的年齡 
  7.  
  8.  //下面是人的成員方法 
  9.  function say() { //這個人可以說話的方法 
  10.   echo "我的名子叫:" . $this->name . " 性別:" . $this->sex . " 我的年齡是:" . $this->age; 
  11.  } 
  12.  
  13.  function run() { //這個人可以走路的方法 
  14.   echo "這個人在走路"
  15.  } 
  16.  
  17. $p1 = new Person(); //創(chuàng)建實例對象$p1 
  18. $p2 = new Person(); //創(chuàng)建實例對象$p2 
  19. $p3 = new Person(); //創(chuàng)建實例對象$p3 
  20.  
  21. //下面三行是給$p1對象屬性賦值 
  22. $p1->name = "張三"
  23. $p1->sex = "男"
  24. $p1->age = 20; 
  25.  
  26. //下面訪問$p1對象中的說話方法 
  27. $p1->say(); 
  28.  
  29. //下面三行是給$p2對象屬性賦值 
  30. $p2->name = "李四"
  31. $p2->sex = "女"
  32. $p2->age = 30; 
  33.  
  34. //下面訪問$p2對象中的說話方法 
  35. $p2->say(); 
  36. //Vevb.com 
  37. //下面三行是給$p3對象屬性賦值 
  38. $p3->name = "王五"
  39. $p3->sex = "男"
  40. $p3->age = 40; 
  41.  
  42. //下面訪問$p3對象中的說話方法 
  43. $p3->say(); 
  44. ?> 

輸出結果為:

我的名子叫:張三 性別:男 我的年齡是:20我的名子叫:李四 性別:女 我的年齡是:30我的名子叫:王五 性別:男 我的年齡是:40

分析一下這個方法,代碼如下:

  1. function say() { //這個人可以說話的方法 
  2.  echo "我的名子叫:" . $this->name . " 性別:" . $this->sex . " 我的年齡是:" . $this->age; 

在$p1、$p2和$p3這三個對象中都有say()這個方法,$this分別代表這三個對象, 調(diào)用相應的屬性,打印出屬性的值,這就是在對象內(nèi)部訪問對象屬性的方式, 如果相在say()這個方里調(diào)用run()這個方法也是可以的,在say()這個方法中使用$this->run()的方式來完成調(diào)用.

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 邵阳市| 兴义市| 土默特右旗| 和龙市| 札达县| 礼泉县| 平陆县| 剑阁县| 新巴尔虎左旗| 高州市| 牙克石市| 青河县| 合阳县| 岳阳市| 福清市| 丰城市| 呼伦贝尔市| 内丘县| 石屏县| 老河口市| 隆昌县| 石泉县| 新蔡县| 德令哈市| 桂东县| 延边| 石泉县| 万盛区| 武功县| 娄烦县| 高青县| 德昌县| 万源市| 江口县| 哈密市| 中西区| 涿州市| 满城县| 满城县| 高雄县| 新宾|