首页 > 代码库 > 面向对象三大特性之二--【继承】

面向对象三大特性之二--【继承】

PHP中,一个类只能有一个父类,所谓继承就是去扩展父类,在设计类的时候,如果有两个或多个类有相同或者共用的部分,就将相同部分提取出来放到一个父类里面。

子类只能继承父类的公共属性和公共方法,如果父类的属性和方法有private修饰封装的话,子类是不能访问的(包括类的内部和外部),当然父类的对象也不能在外部访问,但如果是protected修饰的成员属性和方法,子类的类的内部是可以访问的($this),但子类的对象不能在外部访问。

继承的核心是扩展父类的方法,扩展方法包括两种,一种是添加父类中没有的新的方法,另一种是重写父类的方法,重写父类的方法是为了完善父类方法中的功能。

所谓重写父类方法是指在子类中声明跟父类同名的方法,父类的构造方法也可以被子类重写,父类中所有被子类重写的方法,都要在子类的重写方法中调用,并且是在子类重写方法里的第一行代码调用,通过这种方式调用parent::方法名();如果父类中的方法有参数,子类中调用父类方法的时候参数也要一样。