搜尋

首頁  >  問答  >  主體

繼承問題 求解惑

這個例子首先沒有將父類實例化   然後當子類別沒有覆蓋父類的方法則 $cat1->cry() 調用的是父類  啥意思?子類方法也寫成   echo '動物叫喚.. ';  ?我理解的是如果這樣的話 不是說了等於沒說嗎

3433333.png


小周小周2325 天前1036

全部回覆(3)我來回復

  • Summer

    Summer2018-07-19 11:45:51

    你的cat類別是繼承了animal類別 當cat類別裡沒有cry方法是 你的$cat1->cry() 呼叫的是父類別的cry方法輸出的是動物叫喚。 。當你的cat類別有cry方法是叫做父類別重寫那麼$cat1->cry() 優先呼叫子類別的cry方法輸出abc

    回覆
    0
  • 无忌哥哥

    无忌哥哥2018-07-19 11:12:39

    子類別沒有覆寫父類,也就是子類別只是繼承父類,不做改變,打個比方,父類別$i=1;子類別沒有定義$i,那麼在子類別中呼叫父類別的$i還是1,如果子類覆蓋了父類,例如在子類中定義了$i=2;那麼最後$i就等於2。

    回覆
    0
  • 小周

    額 好的 但是我問的方法的覆蓋 也是這個意思吧?證明我理解對了吧

    小周 · 2018-07-19 11:17:09
  • 取消回覆