这是一个示例,如果方法的访问类型是公共的,则子类方法可以覆盖父方法 EX:
class Foo {
public function fun1() {
echo "Hello World";
}
public function callMe(){
$this->fun1();
}
}
class Bar extends Foo {
public function fun1(){
echo "check this out";
}
}
$bar = new Bar();
$bar->callMe(); //this would print "check this out"
但如果fun1
在父类private
中获得Foo
访问权限,则该方法不会再被越过。
例如:
class Foo {
private function fun1() {
echo "hello world";
}
public function callMe(){
$this->fun1();
}
}
在这种情况下,输出将为hello world
我想知道,即使访问类型为fun1
,是否可以通过扩展类覆盖方法private
?
答案 0 :(得分:-1)
不了解PHP但是根据OOP概念否,因为具有访问修饰符private
的方法虽然存在但不能覆盖或可供子类访问。如果要将其覆盖到子类,请尝试将访问修饰符更改为public
或protected