什么叫重写?
重写,其实就是子类重新定义父类继承给自己的属性或者方法。
基本特征
父类已经有的属性或方法,子类用同样的名字再定义一次。
为什么要重写?
通常,子类的特征信息的定义,都应该是比父类更为“详细”,其表现在两个方面:
1、父类没有的,子类可以有;(注意:添加特征信息是扩展,不是重写)
2、父类有的,子类也可以有,但子类会定义得“自认为”更为细致或者准确,这就是重写
如果从父类继承的成员不能满足子类的需求,可以对其进行改写,这个过程称为重写(override),也叫覆盖。
因为PHP是弱类型的语言, 所以在方法的参数中本身就可以接收不同类型的数据,又因为PHP的方法可以接收不定个数的参数,所以通过传递不同个数的参数调用不相同方法名的不同方法也是不成立的(这点和java不同)。
注意,在编程语言中,php的重载要和其他语言的重载区别开来;在php中,重写要和重载区分开来;
定义一个动物类,然后定义两个子类小鸡类和羊驼类演示一下,代码才是检验真理的唯一标准
<?php
//定义一个动物类
class animal {
public $weight = 0;
public function eating()