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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

php繼承及私有屬性訪問問題

php繼承及私有屬性訪問問題

PHP
慕妹3146593 2018-09-21 17:01:05
class FatherClass{    // private $salary = 1000;     private $salary = 1000;    public function showInfo()     {        echo $this->phone . '<br/>';        echo $this->salary . '<br/>';     } }class ChildClass extends FatherClass{    protected $phone = '13987654321';    private $salary = 20000; } $child = new ChildClass(); $child->showInfo();echo '<pre>'; print_r($child); 輸出:139876543211000ChildClass Object (     [phone:protected] => 13987654321     [salary:ChildClass:private] => 20000     [salary:FatherClass:private] => 1000)疑問:child實例現在有兩個私有屬性,我可以理解為成員方法在哪個類中,私有屬性就調用哪個類的那么如果注釋掉父類中的 private $salary = 1000; 結果就會報錯:Cannot access private property ChildClass::$salary····不能訪問 ChildClass 類的私有屬性,我也可以理解,因為父類相對子類是類外,不能訪問私有屬性那么 protected 的屬性也在類外,怎么又能訪問了呢?如果理解為 子類繼承了父類的成員方法,所以訪問到了子類的 protected 屬性,那為什么又不能訪問子類的私有屬性呢?還是說:私有屬性是區分類的(從打印結果看出),訪問私有屬性時,只訪問本類中的私有屬性,而訪問public和protected的屬性,則根據對象實例具體的值決定?謝謝諸位,不知道我的描述清楚不
查看完整描述

1 回答

?
蕪湖不蕪

TA貢獻1796條經驗 獲得超7個贊

protected能訪問, 是因為protected規定繼承類可以訪問,外部不可以. 設定這個關鍵字就是為了干這個的

查看完整回答
反對 回復 2018-09-21
  • 1 回答
  • 0 關注
  • 655 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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