[請益] 有關繼承問題

看板PHP作者 (不要說再見)時間12年前 (2013/07/22 17:21), 編輯推噓3(302)
留言5則, 5人參與, 最新討論串1/1
程式碼如下: class A { public $name = "A_value"; public function who(){ return $this->name ; } } class B extends A { public $name = "B_value"; public function bShow(){return parent::who();} } $b = new B(); echo $b->bShow(); 我希望結果是能印出 "A_value"; 但是執行結果卻是 "B_value"; 想請問各位前輩, 這樣的寫法哪裡有問題 謝謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.109.32.9

07/22 17:56, , 1F
應該是反過來問,為什麼你覺得執行結果不如你預期?
07/22 17:56, 1F

07/22 18:28, , 2F
方法之1:將A的$name屬性設為私有成員。
07/22 18:28, 2F

07/22 21:02, , 3F
echo $b->name; 看看是什麼東西?
07/22 21:02, 3F

07/22 22:17, , 4F
歐歐~~~我知道問題在哪裡了, 感謝tk大提點
07/22 22:17, 4F

07/23 11:45, , 5F
雖然調用了父類的操作,但是PHP將使用當前類的屬性值
07/23 11:45, 5F
文章代碼(AID): #1HxFcSVO (PHP)
文章代碼(AID): #1HxFcSVO (PHP)