天天看点

子类覆盖父类方法时参数以及方法的访问权限问题

一、子类覆盖父类可继承方法时子类同名方法的访问权限必须大等于父类(父类private不被子类继承,也无覆盖一说)

报错: Fatal error : Access level to Sun3::a() must be protected (as in class Father) or weaker in  F:\xampp\webRoots\object\extendsTest2.php  on line  22

二、子类覆盖父类方法,或实现父类抽象方法时参数个数必须与父类方法一致。使用默认参数时可不一致

1、使用默认参数,正确

子类覆盖父类方法时参数以及方法的访问权限问题

输出结果为:

Mr.Pacman

Mrs||Pacwoman

2、未使用默认参数且参数个数不一致

子类覆盖父类方法时参数以及方法的访问权限问题

报错:

Fatal error: Declaration of ConcreteClass::prefixName() must be compatible with AbstractClass::prefixName($name) inF:\xampp\webRoots\object\abstractTest.php on line 17