首頁 > 後端開發 > php教程 > php基礎:類別與物件(3) 建構子與析構函式_PHP教程

php基礎:類別與物件(3) 建構子與析構函式_PHP教程

WBOY
發布: 2016-07-21 15:59:18
原創
691 人瀏覽過

建構子
PHP 5 允行開發者在一個類別中定義一個方法作為建構子。具有建構函式的類別會在每次建立物件時先呼叫此方法,所以非常適合在使用物件之前做一些初始化工作。 
注意: 
如果子類別中定義了建構子則不會暗中呼叫其父類別的建構子。要執行父類別的建構函數,需要在子類別的建構子中呼叫 parent::__construct()。 (??和其他語言明顯不同??)

例10.8.使用新標準的建構子
class BaseClass {
  function __construct() {   
  }
}

class SubClass extends BaseClass {
  function __construct() { }
}
$obj = new BaseClass();
$obj = new SubClass();

為了實作向後相容性,如果 PHP 5 在類別中找不到 __construct () 函數,它就會試著找出舊式的建構函數,也就是和類別同名的函數。因此唯一會產生相容性問題的情況是:類別中已有一個名為 __construct() 的方法,但它卻不是建構子。 

析構函數
PHP 5 引入了析構函數的概念,這類似於其它物件導向的語言,如 C 。析構函數會在到某個物件的所有參考都被刪除或當物件被明確銷毀時執行。
例10.9.析構函數範例
class MyDestructableClass {
  function __construct() {
      🎜>  }

  function __destruct() {
      print "Destroying " . $this->name . 🎜 >和建構子一樣,父類別的析構函式不會被引擎暗中呼叫。要執行父類別的析構函數,必須在子類別的析構函數體中明確地呼叫 parent::__destruct()。 (??和其他語言明顯不同??)
注意: 
析構函數在腳本關閉時調用,此時所有的頭資訊已經發出。 
注意: 
試圖在析構函數中拋出一個異常會導致致命錯誤。





http://www.bkjia.com/PHPjc/317406.html

www.bkjia.com

true

http: //www.bkjia.com/PHPjc/317406.html

TechArticle建構子PHP5允行開發者在一個類別中定義一個方法作為建構子。具有建構函式的類別會在每次建立物件時先呼叫此方法,所以非常適合在使用...
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板