搜索

首页  >  问答  >  正文

继承问题 求解惑

这个例子 首先 没有将父类实例化   然后当子类没有覆盖父类的方法则 $cat1->cry() 调用的是父类  啥意思? 子类方法也写成   echo '动物叫唤..';  ?我理解的是如果这样的话 不是说了等于没说吗

3433333.png


小周小周2325 天前1037

全部回复(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
  • 取消回复