作者sirius1980 (不要說再見)
看板PHP
標題[請益] 有關繼承問題
時間Mon Jul 22 17:21:25 2013
程式碼如下:
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
1F:推 PsMonkey:應該是反過來問,為什麼你覺得執行結果不如你預期? 07/22 17:56
2F:推 tkdmaf:方法之1:將A的$name屬性設為私有成員。 07/22 18:28
3F:推 tails32100:echo $b->name; 看看是什麼東西? 07/22 21:02
4F:→ sirius1980:歐歐~~~我知道問題在哪裡了, 感謝tk大提點 07/22 22:17
5F:→ Transjoker:雖然調用了父類的操作,但是PHP將使用當前類的屬性值 07/23 11:45