日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

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

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

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

在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. ?> 
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 久热福利| 国产在线观看一区二区三区 | 很很鲁在线视频播放影院 | 国产99免费 | 日本色综合 | 三级www| 一区二区三区久久 | 日韩中文一区二区 | 久久久久亚洲精品 | h片在线观看视频免费免费 日韩国产一区二区 | 少妇久久久 | 国产一区二区三区四区 | 日本天堂在线 | 国产伦精品一区二区三区视频金莲 | 欧日韩在线观看 | 久久久久国产精品免费免费搜索 | 日韩欧美在线视频 | 国产亚洲精品久久久 | 一区二区三区中文字幕 | 午夜视频在线观看一区 | 亚洲精品美女 | 国产日本在线 | 国产在线91在线电影 | 超碰久热| 成人黄色网 | 亚洲国产精品麻豆 | 成人在线网站 | 国产综合网址 | www.国产在线 | 欧美日韩精品综合 | 一区二区三区日韩欧美 | 欧美二区在线观看 | 国产亚洲综合性久久久影院 | 成人av播放| 国产骚片 | 国产成人久久精品 | 亚洲欧美在线免费 | 亚洲视频免费观看 | 国产尤物精品视频 | 99久久综合 | 国产日|