大神能否解釋下 “受保護的屬性與私有屬性不允許外部調用,在類的成員方法內部是可以調用的”這句話?何為外部調用和內部調用啊?
$car?=?new?Car(); echo?$car->name;???//調用對象的屬性 echo?$car->color;??//錯誤?受保護的屬性不允許外部調用 echo?$car->price;??//錯誤?私有屬性不允許外部調用
$car?=?new?Car(); echo?$car->name;???//調用對象的屬性 echo?$car->color;??//錯誤?受保護的屬性不允許外部調用 echo?$car->price;??//錯誤?私有屬性不允許外部調用
2018-03-24
舉報
2018-07-26
其實就是封裝,這樣做比較安全,不容易給人修改,查查封裝就右以理解了
2018-04-27
這個要配合前面定義的類來理解
在calss Car的花括號{}里面調用就是內部調用,在{}外面調用就是外部調用,只有public可以外部調用,所以才會出現第二個和第三個錯誤的現象!
2018-03-28
wish you understand !
2018-03-26
在定義類的時候,有一個花括號{},在花括號里調用就屬于內部調用,在花括號外面調用就屬于外部調用。
2018-03-24
首先類的屬性有三種:public 、protected、private。
public可以在任何地方被調用,而受保護屬性和私有屬性則不一樣。
私有屬性private不允許外部調用,指的的是該屬性只能在你聲明的類中調用,你聲明了Car這個類,就是只能在class Car{}中調用,離開這個類,就不能調用了。
如果實在要調用,可以使用友元函數來進行調用。
而受保護屬性protected不僅可以在你聲明的類中調用,還可以在它的子類中調用。