PHP面向?qū)ο髽?gòu)造方法與析構(gòu)方法
技術(shù)支持服務(wù)電話:15308000360 【7x24提供運(yùn)維服務(wù),解決各類系統(tǒng)/軟硬件疑難技術(shù)問(wèn)題】
1,對(duì)象中成員的訪問(wèn)(就是在一個(gè)對(duì)象的內(nèi)部方法中,去訪問(wèn)本對(duì)象中的其它方法和成員屬性)
2,在對(duì)象中的方法中都有一個(gè)默認(rèn)的$this關(guān)鍵字,這個(gè)關(guān)鍵字代表調(diào)用這個(gè)方法的對(duì)象
3,第一人稱代詞:我
構(gòu)造方法,構(gòu)造器
1,是對(duì)象創(chuàng)建完成之后,’第一個(gè)”自動(dòng)調(diào)用’的方法
2,構(gòu)造方法的定義,方法名是一個(gè)固定的和類名相同
在PHP5中,構(gòu)造方法選擇使用魔術(shù)方法__construct(),所有類中聲明構(gòu)造方法都使用這個(gè)名稱
優(yōu)點(diǎn):在改變類名時(shí),構(gòu)造方法不用改變
作用:就是為成員屬性初始化
魔術(shù)方法:
在類中寫出了某個(gè)魔術(shù)方法,這個(gè)方法對(duì)象的功能就會(huì)添加上,方法名稱都是固定的,沒(méi)有自己定義的。每一個(gè)魔術(shù)方法,都是在不同時(shí)刻為了完成某一功能自動(dòng)調(diào)用的方法,不同的魔術(shù)方法有不同調(diào)用時(shí)機(jī),這些方法名都是以”__”開頭的方法:
- __construct();
- __destruct();
- __set();
- __get();
- __isset();
- __unset();
- __clone();
- __call();
- __sleep();
- __weakup();
- __toString();
- __autoload();
析構(gòu)方法:
__destruct();當(dāng)對(duì)象被釋放之前最后一個(gè)自動(dòng)調(diào)用的方法。作用就是關(guān)閉一些資源,作一些清理的工作。也就是完成垃圾回收的功能。
關(guān)于構(gòu)造方法以及析構(gòu)方法的實(shí)例寫一個(gè)吧,用的都是魔術(shù)方法:
eg:
class Person{ var $name; var $age; var $sex; function __construct($name="",$age=20,$sex="male"){ $this->name=$name; $this->age=$age; $this->sex=$sex; } function say(){ echo "我的名字是:".$this->name.",年齡是:".$this->age.",性別是:".$this->sex.'<br>'; } function __destruct(){ echo $this->name.",再見"."<br>"; } } $p1=new Person("rayhooo",26,"male"); $p2=new Person("pretty",24,"female"); $p3=new Person("insect",24,"female"); $p1->say(); $p1=null; $p2->say(); $p3->say();