PHP面向對象之構造函數和析構函數
- 2019 年 12 月 17 日
- 筆記
PHP面向對象之構造函數和析構函數
構造方法定義
構造方法又稱為構造函數,是對象被創建時自動調用的方法,一般用來完成類初始化需要做的事情
特性
- 構造函數可以接受參數,能夠在創建對象時賦值給對象屬性
- 構造函數可以調用類方法或其他函數
- 構造函數可以被其他方法顯示調用
- 構造函數可以調用其他類的構造函數
聲明構造函數
使用 __construct()
來進行聲明 例如:
class Person{ private $name; private $age; private $gender; public function __construct($name,$age,$gender){ $this->setName($name); $this->setAge($age); $this->setGender($gender); } public function setName($name){ $this->name = $name; } public function setAge($age){ $this->age = $age; } // ... getter setter 方法 } $peron = new Person("賀德強",18,'男');
如需調用父類構造函數,必須使用 parent
parent::__construct();
析構函數
對象被銷毀,或某個對象的所有引用被刪除是執行的函數
特性
- 析構函數是在銷毀對象時,自動調用,不能顯示的調用。
- 析構函數不能帶參數。
聲明定義
通過 __destruct()
來進行聲明
例如:
class test{ function __destruct(){ echo "當對象銷毀時會調用!!!"; } } $a = $b = $c = new test(); $a = null; unset($b);