7.3.5 PHP析構方法
與構造函數相對的就是析構函數。析構函數是PHP5新添加的內容,在PHP4中沒有析構函數。析構函數是在對象被銷毀之前自動調用的方法,主要執行一些特定的操作,例如關閉文件,釋放結果集等。
與構造函數的名稱類似,一個類的析構函數名稱必須是兩個下劃線 _ _destruct( )。析構函數不能帶有任何參數。
例如:
<?php
class Person {
//聲明的析構方法,在對象銷毀前自動調用
public function __destruct() {
echo "再見".$this->name."<br>";
}
}
boyfriend.class.php
<?php
/*
* 屬性
* 性別:男
* 年齡: 24
* 身高: 175cm
* 眼睛: 大
*
*
* 行為
*
* 做飯
* 做家務
*
* class 類名 {
*
*
* }
*
* 注意: 在類的成員屬性前面一定要有一個修飾詞, 如果不知道使用什么修飾詞, 就可以使用var (關鍵字), 如果一旦有其它的修飾詞就不要有var
*
*
* 只要是對象中的成員, 就必須使用這個對象來訪問到這個對象內部的屬性和方法
*
*
* 構造方法
*
* 1. 是對象創建完成以后, 第一個 自動調用的方法(特殊)
* 2. 方法名稱比較特殊 可以和類名相同名的方法名
* 3. 給對象中的成員賦初值使用的 *
*
* 魔術方法 __construct();
*
* */
class BoyFriend {
//變量 (成員屬性)
var $name;
var $age;
var $sex;
function __construct($name, $age, $sex="男") {
$this->name = $name;
$this->age = $age;
$this->sex = $sex;
echo "222222222222222<br>";
}
//函數 (成員方法)
public function doFan() {
echo "{$this->name} 有做飯的功能<br>";
$this->doJW();
}
function doJW() {
echo "做家務的功能<br>";
}
function __destruct() {
echo "{$this->name} 再見! <br>";
}
}
$bf1 = new BoyFriend("高洛峰", 28);
$bf2 = new BoyFriend("高老師", 26, "男");
$bf1 -> doFan();
$bf2 -> doFan();
$bf1=null;
test.php
<?php
include "boyfriend.class.php";