亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

這個的每句話怎么理解。

class?Car?{
????private?function?__construct()?{
????????echo?'object?create';
????}

????private?static?$_object?=?null;
????public?static?function?getInstance()?{
????????if?(empty(self::$_object))?{
????????????self::$_object?=?new?Car();?//內部方法可以調用私有方法,因此這里可以創建對象
????????}
????????return?self::$_object;
????}
}
//$car?=?new?Car();?//這里不允許直接實例化對象
$car?=?Car::getInstance();?//通過靜態方法來獲得一個實例

這個的每句話怎么理解。

正在回答

3 回答

私有構造方法??你就可以理解為?因為構造方法是實例化后無論你調不調用?你都會運行的??但是它現在私有了?別的類不能用,所以導致不能實例化?只能靜態調用

0 回復 有任何疑惑可以回復我~

在設計模式中有只有單態模式,就是利用私有構造實現的,構造方法私有化,就不能通過new object();來實現,只能通過內本身的靜態方法去實現構造 self::construct();

0 回復 有任何疑惑可以回復我~
class?Car?{
????private?function?__construct()?{????//構造方法在被調用直接加載,私有的構造方法,不允許直接實例化對象,
????????????????????????????????????????通過靜態方法來獲得一個實例!
????????echo?'object?create';
????}

????private?static?$_object?=?null;?????//常量
????public?static?function?getInstance()?{????????//聲明一個靜態的方法,用來實例化構造函數。
????????if?(empty(self::$_object))?{
????????????self::$_object?=?new?Car();?//內部方法可以調用私有方法,因此這里可以創建對象
????????}
????????return?self::$_object;???????//這里都不懂回去再學一次
????}
}
//$car?=?new?Car();?//這里不允許直接實例化對象
$car?=?Car::getInstance();?//通過靜態方法來獲得一個實例


1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

這個的每句話怎么理解。

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號