我可以更改 Child 类中任何父函数的访问修饰符吗?

Gau*_*rav 2 php c++

我可以更改 Child 类中任何父函数的访问修饰符吗?

Gor*_*don 5

子类可能只会“松开”可见性,例如

class ParentClass
{
    protected function foo() {} 
}
Run Code Online (Sandbox Code Playgroud)

class ChildClass extends ParentClass 
{  
    public function foo() {} 
}
Run Code Online (Sandbox Code Playgroud)

但不是

class ChildClass extends ParentClass 
{  
    private function foo() {} 
}
Run Code Online (Sandbox Code Playgroud)

除此之外,您可以使用反射 API 在运行时更改可见性:

尽管您应该问问自己为什么要这样做。通常对子类隐藏方法或属性的父类这样做是有原因的。