Php 私有方法在子类中是否可以被过度使用
这是一个示例,在该示例中,如果子类方法的访问类型为public,则子类方法可以重写父类方法 例: 但是,如果在父类Php 私有方法在子类中是否可以被过度使用,php,oop,overriding,Php,Oop,Overriding,这是一个示例,在该示例中,如果子类方法的访问类型为public,则子类方法可以重写父类方法 例: 但是,如果在父类Foo中为fun1提供了private访问权限,则该方法将不再被滥用 例: 在这种情况下,输出将是hello world 我想知道,即使访问类型为private,是否可以通过扩展类重写方法fun1?不知道PHP,但按照OOP概念不,因为带有访问修饰符private的方法虽然存在,但子类无法重写或访问。如果要将其覆盖到子类,请尝试将访问修饰符更改为public或protected被否决
Foo
中为fun1
提供了private
访问权限,则该方法将不再被滥用
例:
在这种情况下,输出将是hello world
我想知道,即使访问类型为
private
,是否可以通过扩展类重写方法fun1
?不知道PHP,但按照OOP概念不,因为带有访问修饰符private
的方法虽然存在,但子类无法重写或访问。如果要将其覆盖到子类,请尝试将访问修饰符更改为public
或protected
被否决的人,您是否无法遵循答案?或者你看到答案中遗漏了什么吗?
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"
class Foo {
private function fun1() {
echo "hello world";
}
public function callMe(){
$this->fun1();
}
}