您好,登錄后才能下訂單哦!
構造函數:
1、在實例化類的時候會被自動觸發;
2、一個類只有一個構造函數;
3、一般用于初始化操作;
4、沒有返回值。
語法:
function __construct([參數列表]) { ......... }
例子:
<?php class Person { public $name; public $sex = '女'; public $age; public $money; public $face; //構造方法 public function __construct($name,$age,$money,$face = '女人都是漂亮的') { //屬性初始化 $this->name = $name; $this->age = $age; $this->money = $money; $this->face = $face; } public function say() { echo "我的名字是{$this->name},<br>我的年齡是{$this->age},<br>我有{$this->money}元錢,<br>{$this->face}"; }
//實例化類并賦值
$lixiaolou = new Person('李小龍',11,1234); $lixiaolou->say();
輸出的結果:
析構函數:
1、 銷毀一個類之前執行析構函數
2、先調用的后消失 后調用的先消失
3、不能帶參數
語法:
function __destruct() { ...... }
例子:
在上一個構造函數源代碼的后面添加
public function __destruct() { echo "消失了{$this->name}<br>"; }
輸出結果:
注意:析構函數是 先調用的后消失 后調用的先消失
<?php /** * 定義一個“人類” */ class Person { public $name; public $sex = '女'; public $age; public $money; public $face; //構造方法 public function __construct($name,$age,$money,$face = '女人都是漂亮的') { //屬性初始化 $this->name = $name; $this->age = $age; $this->money = $money; $this->face = $face; } public function say() { echo "我的名字是{$this->name},<br>我的年齡是{$this->age},<br>我有{$this->money}元錢,<br>{$this->face}"; $this->daojiu(); } public function daojiu() { echo "給老板們倒酒<br/>"; } //先調用的后消失 后調用的先消失 //先是 陳 消失了 然后是 李小龍 消失 public function __destruct() { echo "消失了{$this->name}<br>"; } } $lixiaolou = new Person('李小龍',11,1234); $lixiaolou->say(); echo "<hr>"; $senlin = new Person('陳',12,123); $senlin->say();
輸出:
注意:調用的順序和銷毀的順序是不一樣的。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。