PHP類的聲明與實(shí)例化及構(gòu)造方法與析構(gòu)方法詳解
本文實(shí)例講述了PHP類的聲明與實(shí)例化及構(gòu)造方法與析構(gòu)方法。分享給大家供大家參考,具體如下:
<?php class human{ public static $leg=2; public $name = 'leo'; public $age = '25'; public function cry(){ } } $leo = new human(); print_r($leo); /*返回 human Object ( [name] => leo [age] => 25 ) */ //為什么沒(méi)有l(wèi)eg呢? //是因?yàn)榧恿藄tatic,就變成了類的屬性了,是屬于所有 //通過(guò)這個(gè)類實(shí)例實(shí)例后的對(duì)象的 //public是權(quán)限修飾符,權(quán)限修飾符有public,protected,private //在PHP4經(jīng)常用到var,這個(gè)現(xiàn)在不怎么也不推薦用,就相當(dāng)于public //在PHP5中會(huì)把var解析成public ?>
有沒(méi)有什么辦法可以在new對(duì)象的時(shí)候,通過(guò)傳參數(shù)來(lái)改變對(duì)象的屬性呢?而不是千篇一律
答:可以在類中定義構(gòu)造方法,即在初始化對(duì)象的時(shí)候,就會(huì)執(zhí)行,并且可以接收參數(shù)
如下所示:
<?php class human{ public static $leg=2; public $name = 'leo'; public $age = '25'; public function __construct($name,$age){ $this->name=$name; $this->age=$age; } } $leo = new human('macro','23'); print_r($leo); /* 返回 human Object ( [name] => macro [age] => 23 ) 可以看到參數(shù)起作用了 __construct就是構(gòu)造函數(shù) */ ?>
與構(gòu)造函數(shù)相對(duì)應(yīng)的就是析構(gòu)函數(shù),即當(dāng)對(duì)象銷毀的時(shí)候執(zhí)行的
如下所示:
<?php class human{ public static $leg=2; public $name = 'leo'; public $age = '25'; public function __construct($name,$age){ $this->name=$name; $this->age=$age; echo $this->name."對(duì)象生成啦<br />"; } public function __destruct(){ echo $this->name."對(duì)象銷毀啦<br />"; } } $leo = new human('macro','23'); $tim = new human('tim','18'); unset($leo); echo '~~~~~~~~~~~~~~~~~~~~<br />'; /* 返回: macro對(duì)象生成啦 tim對(duì)象生成啦 macro對(duì)象銷毀啦 ~~~~~~~~~~~~~~~~~~~~ tim對(duì)象銷毀啦 */ //__destruct是析構(gòu)函數(shù),即對(duì)象銷毀的時(shí)候調(diào)用 //為什么$tim 沒(méi)有unset 也執(zhí)行了析構(gòu)函數(shù) //這是一個(gè)隱式銷毀,unset是顯式銷毀 //當(dāng)一個(gè)頁(yè)面執(zhí)行完成自動(dòng)銷毀 ?>
更多關(guān)于PHP面向?qū)ο笙嚓P(guān)內(nèi)容感興趣的讀者可查看本站專題:《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
PHP中的淺復(fù)制與深復(fù)制的實(shí)例詳解
這篇文章主要介紹了PHP中的淺復(fù)制與深復(fù)制的實(shí)例詳解的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家理解掌握這部分內(nèi)容,需要的朋友可以參考下2017-10-10PHP移動(dòng)文件指針ftell()、fseek()、rewind()函數(shù)總結(jié)
這篇文章主要介紹了PHP移動(dòng)文件指針ftell()、fseek()、rewind()函數(shù)總結(jié),本文先是對(duì)它們的作用做了講解,然后給出具體使用例子,需要的朋友可以參考下2014-11-11PHP結(jié)合Vue實(shí)現(xiàn)滾動(dòng)底部加載效果
這篇文章主要給大家介紹了關(guān)于PHP結(jié)合Vue如何實(shí)現(xiàn)滾動(dòng)底部加載效果的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-12-12PHP統(tǒng)計(jì)目錄大小的自定義函數(shù)分享
這篇文章主要介紹了PHP統(tǒng)計(jì)目錄大小的自定義函數(shù)分享,本文使用遞歸方法統(tǒng)計(jì)一個(gè)目錄中所有文件的大小,需要的朋友可以參考下2014-11-11