課程
/后端開發(fā)
/PHP
/PHP進(jìn)階篇
我看不懂self::$_object = new Car();
新建一個(gè)對(duì)象,賦值給一個(gè)靜態(tài)變量?
2017-01-23
源自:PHP進(jìn)階篇 2-7
正在回答
個(gè)人理解,靜態(tài)變量也是變量,與動(dòng)態(tài)變量的作用一樣,存儲(chǔ)信息等,當(dāng)然也有自己的特性,比如,在類中,靜態(tài)的成員,可以在類未實(shí)例化之前就能使用,也就是說可以使用類名調(diào)用。結(jié)合單例設(shè)計(jì)模式,為了不讓用戶直接實(shí)例化對(duì)象,需要將構(gòu)造函數(shù)隱藏,但是,我們還是需要能夠創(chuàng)建對(duì)象,這個(gè)時(shí)候就需要提供一個(gè)函數(shù),這個(gè)函數(shù)不用對(duì)象也能調(diào)用, 也就是說能用類名調(diào)用, 我們知道靜態(tài)函數(shù)是不能訪問非靜態(tài)成員的, 那么就需要一個(gè)靜態(tài)變量保存這個(gè)類的實(shí)例,如果這個(gè)值是空,就實(shí)例化一個(gè)對(duì)象并賦值給他,否則直接返回該值,保證在運(yùn)行期間此類只有一個(gè)對(duì)象存在。大神勿噴。
懷中貓 提問者
_pkm_ 回復(fù) 懷中貓 提問者
舉報(bào)
輕松學(xué)習(xí)PHP中級(jí)課程,進(jìn)行全面了解,用PHP快速開發(fā)網(wǎng)站程序
1 回答關(guān)于類的構(gòu)造函數(shù)定義為私有。
2 回答關(guān)于構(gòu)造函數(shù)的問題
2 回答構(gòu)造函數(shù)與析構(gòu)造函數(shù)
3 回答構(gòu)造函數(shù)和折構(gòu)函數(shù)
2 回答析構(gòu)函數(shù)和構(gòu)造函數(shù)
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2017-01-23
個(gè)人理解,靜態(tài)變量也是變量,與動(dòng)態(tài)變量的作用一樣,存儲(chǔ)信息等,當(dāng)然也有自己的特性,比如,在類中,靜態(tài)的成員,可以在類未實(shí)例化之前就能使用,也就是說可以使用類名調(diào)用。結(jié)合單例設(shè)計(jì)模式,為了不讓用戶直接實(shí)例化對(duì)象,需要將構(gòu)造函數(shù)隱藏,但是,我們還是需要能夠創(chuàng)建對(duì)象,這個(gè)時(shí)候就需要提供一個(gè)函數(shù),這個(gè)函數(shù)不用對(duì)象也能調(diào)用, 也就是說能用類名調(diào)用, 我們知道靜態(tài)函數(shù)是不能訪問非靜態(tài)成員的, 那么就需要一個(gè)靜態(tài)變量保存這個(gè)類的實(shí)例,如果這個(gè)值是空,就實(shí)例化一個(gè)對(duì)象并賦值給他,否則直接返回該值,保證在運(yùn)行期間此類只有一個(gè)對(duì)象存在。大神勿噴。