建構式
__construct()PHP 允許開發者在一個類中定義一個方法作為建構式,具有建構式的類會在每次創建新物件時先呼叫此方法,所以非常適合在使用物件之前做一些初始化作業,
class Car { function __construct() { echo "這是建構式" . "<br>"; } } // 創建物件時會呼叫__construct() $car = new Car(); // 這是建構式如果子類中定義了建構式則不會隱式呼叫其父類的建構式,要執行父類的建構式,需要在子類的建構式中呼叫 parent::__construct(),如果子類沒有定義建構式則會如同一個普通的類方法一樣從父類繼承(假如沒有被定義為 private 的話),
class BaseClass { function __construct() { echo "這是父類建構式" . "<br>"; } } class SubClass extends BaseClass { function __construct() { parent::__construct(); echo "這是子類建構式" . "<br>"; } } //這是父類建構式 //這是子類建構式 $subClass = new SubClass();
解構式
__destruct()
解構式會在到某個物件的所有參考都被洗掉或者當物件被顯式銷毀時執行,
和建構式一樣,父類的解構式不會被引擎暗中呼叫,要執行父類的解構式,必須在子類的解構式體中顯式呼叫 parent::__destruct(),此外也和建構式一樣,子類如果自己沒有定義解構式則會繼承父類的,
解構式即使在使用 exit() 終止腳本運行時也會被呼叫,在解構式中呼叫 exit() 將會中止其余關閉操作的運行,
class Car { function __construct() { echo "這是建構式" . "<br>"; } function __destruct() { // TODO: Implement __destruct() method. echo "這是解構式" . "<br>"; } } $car1 = new Car(); echo "----------------------" . "<br>"; $car2 = new Car(); echo "______________________" . "<br>"; 這是建構式 ---------------------- 這是建構式 ______________________ 這是解構式 這是解構式
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/299276.html
標籤:PHP
上一篇:github搜索技巧小結
