php 面向對象開發 類的學習 二

一,建立多個對象php

只需創造不一樣的對象ide

  
  
  
  
  1. class Nclass{ 
  2. public $name
  3. public $type
  4. function myfun(){ 
  5.  return "演示如何建立多個對象"
  6.  } 

建立三個對象函數

  
  
  
  
  1. $myclass1 = new Nclass(); 
  2. $myclass2 = new Nclass(); 
  3. $myclass3 = new Nclass(); 
  4. $myclass1->name="第一個名字".$myclass1->myfun(); 
  5. $myclass2->name="第二個名字".$myclass1->myfun(); 
  6. $myclass3->name="第三個名字".$myclass1->myfun(); 

 二,$this關鍵字 用法,在當前對象中使用,表明當前對象,好比說,我叫phpmylove我能夠叫我phpmylove 也能夠稱呼我本身爲我,一個代詞。this

  
  
  
  
  1. <? 
  2. class Nclass{  
  3. public $name;  
  4. public $type;  
  5. function myfun(){  
  6. return $this->name."演示如何使用this關鍵字 ";  
  7. function myfun2(){ 
  8. return $this->myfun()."這就是this的用法 "
  9. }  
  10. }  
  11. $test = new Nclass(); 
  12. $test->name="本實例 "
  13. echo $test->myfun2(); 
  14.  
  15. ?> 

本實例 演示如何使用this關鍵字 這就是this的用法spa

三,初始化對象 __construct 關鍵字對象

用戶初始化用途,等同於php4的同名方法。內存

  
  
  
  
  1. <? 
  2. class Nclass{  
  3. public $name;  
  4. public $type;  
  5.  
  6. function __construct($name){ 
  7.     $this->name=$name
  8.     } 
  9. function myfun(){  
  10. return $this->name."演示如何使用this關鍵字";  
  11. function myfun2(){ 
  12. return $this->myfun()."這就是this的用法"
  13. }  
  14. }  
  15. $test = new Nclass('本實例'); //上面__construct($name)中的$name能夠直接取到這裏的
  16. $test2 = new Nclass('2實例'); 
  17. echo $test->myfun2()."<br>"
  18. echo $test2->myfun2(); 
  19. ?> 

輸出結果string

本實例演示如何使用this關鍵字這就是this的用法
2實例演示如何使用this關鍵字這就是this的用法it

四,析構函數 __destruct 垃圾回收機制,對象運行完畢時,釋放掉內存io

原則後進先出

  
  
  
  
  1. <? 
  2. class Nclass{  
  3. public $name;  
  4. public $type;  
  5.  
  6. function __construct($name){ 
  7.     $this->name=$name
  8.     } 
  9. function myfun(){  
  10. return $this->name."演示如何使用this關鍵字";  
  11. function myfun2(){ 
  12. return $this->myfun()."這就是this的用法"
  13. function __destruct(){ 
  14.     echo $this->name."已經被釋放了<br>";} 
  15. }  
  16. $test = new Nclass('本實例'); 
  17. $test2 = new Nclass('2實例'); 
  18. echo $test->myfun2()."<br>"
  19. echo $test2->myfun2()."<br>"
  20. ?> 

輸出結果

本實例演示如何使用this關鍵字這就是this的用法
2實例演示如何使用this關鍵字這就是this的用法
2實例已經被釋放了
本實例已經被釋放了

若是不但願後進先出,只能在對象執行完畢時加入 $對象句柄 = null;

  
  
  
  
  1. <? 
  2. class Nclass{  
  3. public $name;  
  4. public $type;  
  5.  
  6. function __construct($name){ 
  7.     $this->name=$name
  8.     } 
  9. function myfun(){  
  10. return $this->name."演示如何使用this關鍵字";  
  11. function myfun2(){ 
  12. return $this->myfun()."這就是this的用法"
  13. function __destruct(){ 
  14.     echo $this->name."已經被釋放了<br>";} 
  15. }  
  16. $test = new Nclass('本實例'); 
  17. $test2 = new Nclass('2實例'); 
  18. echo $test->myfun2()."<br>"
  19. $test = null; 
  20. echo $test2->myfun2()."<br>"
  21. ?> 

輸出結果

本實例演示如何使用this關鍵字這就是this的用法 本實例已經被釋放了 2實例演示如何使用this關鍵字這就是this的用法 2實例已經被釋放了

相關文章
相關標籤/搜索