這個例子首先沒有將父類實例化 然後當子類別沒有覆蓋父類的方法則 $cat1->cry() 調用的是父類 啥意思?子類方法也寫成 echo '動物叫喚.. '; ?我理解的是如果這樣的話 不是說了等於沒說嗎
Summer2018-07-19 11:45:51
你的cat類別是繼承了animal類別 當cat類別裡沒有cry方法是 你的$cat1->cry() 呼叫的是父類別的cry方法輸出的是動物叫喚。 。當你的cat類別有cry方法是叫做父類別重寫那麼$cat1->cry() 優先呼叫子類別的cry方法輸出abc
无忌哥哥2018-07-19 11:12:39
子類別沒有覆寫父類,也就是子類別只是繼承父類,不做改變,打個比方,父類別$i=1;子類別沒有定義$i,那麼在子類別中呼叫父類別的$i還是1,如果子類覆蓋了父類,例如在子類中定義了$i=2;那麼最後$i就等於2。