php構(gòu)造函數(shù)是對象創(chuàng)建完成后,第一個自動調(diào)用的方法,析構(gòu)函數(shù)是當(dāng)對象被釋放之前最后一個自動調(diào)用的方法。本文章向大家介紹php構(gòu)造函數(shù)與析構(gòu)函數(shù)。
php構(gòu)造函數(shù)
1.是對象創(chuàng)建完成后,“第一個”“自動調(diào)用”的方法
2.構(gòu)造方法的定義,方法名是一個固定的,
在php4中:和類名相同的方法就是構(gòu)造方法
在php5中:構(gòu)造方法選擇使用 魔術(shù)方法__construct() 所有類中聲明構(gòu)造方法都使用這個名稱
優(yōu)點:在改變類名時,構(gòu)造方法不用改變
魔術(shù)方法: 在類中寫出了某個魔術(shù)方法,這個方法對應(yīng)的功能就會添加上
方法名稱都是固定的(都是系統(tǒng)提供好的),沒有自己定義的
每一個魔術(shù)方法,都是在不同時刻為了完成某一功能自動調(diào)用的方法
不同的魔術(shù)方法有不同的調(diào)用時機
都是以 __ 開頭的方法
__construct(); __destruct(); __set();......
作用:為成員屬性初始化;
php析構(gòu)函數(shù)
1.當(dāng)對象被釋放之前最后一個“自動”調(diào)用的方法
使用垃圾回收器(java php),而c++手動 的釋放
作用:關(guān)閉一些資源,作一些清理的工作
__destruct();
php構(gòu)造函數(shù)與析構(gòu)函數(shù)實例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
class Person{ var $name ; var $age ; var $sex ; //php4中的構(gòu)造方法 /*function Person() { //每聲明一個對象都會調(diào)用 echo "1111111111111111"; }*/ //php5中的構(gòu)造方法 function __construct( $name , $age , $sex ){ $this ->name= $name ; $this ->age= $age ; $this ->sex= $sex ; } function say(){ //$this->name;//對象中成員的訪問使用$this echo "我的名字:{$this->name},我的年齡:{$this->age}<br>" } function run(){ } function eat(){ } //析構(gòu)方法 function __destruct(){ } } $p1 = new Person( "zhangsan" ,25, "男" ); $p2 = new Person; $p3 = new Person; |