国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 阳山县| 富源县| 全州县| 湛江市| 新平| 喀什市| 肃北| 阳城县| 博兴县| 江北区| 南通市| 鹤峰县| 柳林县| 汽车| 峨山| 通化县| 嵊泗县| 夏津县| 绥棱县| 隆林| 黎城县| 盐城市| 元谋县| 沾化县| 大港区| 柘城县| 河西区| 本溪市| 泗水县| 察雅县| 屏东县| 游戏| 罗平县| 嘉祥县| 揭东县| 依兰县| 密云县| 繁昌县| 海淀区| 额尔古纳市| 射阳县|