多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > php中構造函數與析構函數詳解

php中構造函數與析構函數詳解

來源:程序員人生   發布時間:2014-05-16 19:38:06 閱讀次數:3333次

在php中構造函數與析構函數都是使用在類中的,下面我來給大家詳細介紹關于在php類中使用構造函數與析構函數的方法,有需要了解的朋友可參考參考.

析構函數

php析構函數的作用剛好和構造函數相反,構造函數是在對象實例化時自動執行,而析構函數在對象被銷毀時自動執行.

默認情況下,php僅釋放對象屬性所占用的內存,并不銷毀對象相關的資源,而利用析構函數在使用一個對象之后執行代碼來清除內存,并將對象從內存中銷毀.析構函數__destruct()結構形式如下:

實例代碼如下:

  1. function __destruct(){ 
  2.     /* class initialization code */ 
  3. }  

析構函數是由系統自動調用,不能帶參數.

實例代碼如下:

  1. <?php  
  2.  class des{ 
  3.   function __destruct(){ 
  4.    echo "運行結束,執行析構函數"
  5.   } 
  6.  } 
  7.  $p=new des(); /* 實例化類 */ 
  8.  $sum=0; 
  9.  for($i=0;$i<10;$i++){ 
  10.   $sum=$sum+$i
  11.   echo $sum ."<br>"
  12.  } 
  13. ?> 

析構函數的調用

php如何調用析構函數?當php腳本不再與對象相關時將調用析構函數.如果要明確地銷毀一個對象調用析構函數,可以給指向對象的變量不分配任何值,通常將變量賦值為NULL或者用unset()函數.

實例代碼如下:

  1. <?php  
  2.  class des{ 
  3.   function __destruct(){ 
  4.    echo "對象被銷毀,執行析構函數<br>"
  5.   } 
  6.  } 
  7.  $p=new des(); /* 實例化類 */ 
  8.  echo "程序開始<br>"
  9.  unset($p); /* 銷毀變量$p */ 
  10.  echo "程序結束"
  11. ?> 

構造函數

我們在使用類的過程中,有時需要立即為實例化對象的多個字段父子,如果通過手工,會帶來很多不可預測的問題,而如果在對象創建過程中自動執行,則會帶來很多方便.

php構造函數作用就是當類被實例化時,會自動執行的函數,又稱為構造函數.構造函數的聲明和其它函數一樣,知識構造函數的名稱是“__construct”固定的名稱,其結構形式如下:

實例代碼如下:

  1. function __construct([argument1,argument2,argument3]){ 
  2.     /* class initialization code */ 

實例代碼如下:

  1. <?php  
  2.  class user{ 
  3.   public $name
  4.   private $password
  5.   private $login
  6.   public function __construct($name,$password){ 
  7.    $this->name=$name
  8.    $this->password=$password
  9.    $this->login=time(); 
  10.   } 
  11.   function getlogin(){ 
  12.    return(date('M d,Y',$this->login)); 
  13.   } 
  14.  } 
  15.  $user=new user('Marry','888888'); 
  16.  echo "用戶名: "$user->name. "<br>"
  17.  print("訪問時間"$user->getlogin()); 
  18. ?> 

調用父類構造函數

構造函數可以被子類調用,php調用父類構造函數時必須使用parent關鍵字,否則不會自動調用.

實例代碼如下:

  1. <?php  
  2.  class task1{ 
  3.   public function __construct(){ 
  4.    echo "today is Monday""<br>"
  5.   } 
  6.  } 
  7.  class task2 extends task1{ 
  8.   function __construct(){ 
  9.    parent::__construct(); /* 調用父類構造函數 */ 
  10.    echo "I must work!"
  11.   } 
  12.  } 
  13.  new task2; 
  14. ?> 
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 久久精品亚洲欧美va | 国内精品久久久久影院老司 | 色人阁在线视频 | 国产精品无码久久综合网 | 国产女人体一区二区三区 | 久久亚洲不卡一区二区 | 成成人看片在线 | 日产一区一区三区产品 | 亚洲自拍偷拍网 | 中国a级淫片免费播放 | 免费一级毛片私人影院a行 免费一级毛片一级毛片aa | 亚洲国产日韩欧美在线a乱码 | 亚洲激情校园 | 国内视频精品 | 97久久精品午夜一区二区 | www视频在线免费观看 | 波多野结衣视频免费看 | 亚洲春色第一页 | 国产v片在线观看 | 日本国产亚洲 | 日韩欧美一区二区不卡看片 | 国产精品久久网 | 小说区乱图片区 | 亚洲在线看 | 中文乱码字幕午夜无线观看 | 国产精品久久一区一区 | 最新亚洲一区二区三区四区 | 真人毛片免费全部播放完整 | 五月天在线播放视频在线 | 动漫精品在线 | 国产一区二区精品 | 欧美日韩亚洲国产精品 | 五月婷婷视频 | 亚洲第一页乱 | 欧美影院一区二区三区 | 国产成人精品一区二区免费视频 | 性加拿大高清xxxxx | 91久久综合九色综合欧美亚洲 | 一区二区中文字幕在线观看 | 国产精品jizz视频 | 国产精品k |