第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

大神能否解釋下 “受保護的屬性與私有屬性不允許外部調(diào)用,在類的成員方法內(nèi)部是可以調(diào)用的”這句話?何為外部調(diào)用和內(nèi)部調(diào)用?。?/h1>
$car?=?new?Car();
echo?$car->name;???//調(diào)用對象的屬性
echo?$car->color;??//錯誤?受保護的屬性不允許外部調(diào)用
echo?$car->price;??//錯誤?私有屬性不允許外部調(diào)用

正在回答

5 回答

其實就是封裝,這樣做比較安全,不容易給人修改,查查封裝就右以理解了

1 回復(fù) 有任何疑惑可以回復(fù)我~

這個要配合前面定義的類來理解

class?Car?{
????//定義公共屬性
????public?$name?=?'汽車';

????//定義受保護的屬性
????protected?$corlor?=?'白色';

????//定義私有屬性
????private?$price?=?'100000';
}

在calss Car的花括號{}里面調(diào)用就是內(nèi)部調(diào)用,在{}外面調(diào)用就是外部調(diào)用,只有public可以外部調(diào)用,所以才會出現(xiàn)第二個和第三個錯誤的現(xiàn)象!

1 回復(fù) 有任何疑惑可以回復(fù)我~
class?A?{
????protected?$name?=?'aaa';
????protected?function?getName()?{
????????return?'hello';
????}
????public?function?say()?{
????????return?$this->getName();
????}
}

$a?=?new?A();
echo?$a->name;????????//?error
echo?$a->getName();???//?error
echo?$a->say();???????//?success

wish you understand !

2 回復(fù) 有任何疑惑可以回復(fù)我~

在定義類的時候,有一個花括號{},在花括號里調(diào)用就屬于內(nèi)部調(diào)用,在花括號外面調(diào)用就屬于外部調(diào)用。

4 回復(fù) 有任何疑惑可以回復(fù)我~

首先類的屬性有三種:public 、protected、private。

public可以在任何地方被調(diào)用,而受保護屬性和私有屬性則不一樣。

私有屬性private不允許外部調(diào)用,指的的是該屬性只能在你聲明的類中調(diào)用,你聲明了Car這個類,就是只能在class Car{}中調(diào)用,離開這個類,就不能調(diào)用了。

如果實在要調(diào)用,可以使用友元函數(shù)來進行調(diào)用。

而受保護屬性protected不僅可以在你聲明的類中調(diào)用,還可以在它的子類中調(diào)用。

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

大神能否解釋下 “受保護的屬性與私有屬性不允許外部調(diào)用,在類的成員方法內(nèi)部是可以調(diào)用的”這句話?何為外部調(diào)用和內(nèi)部調(diào)用???

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號