在 PHP 中,可以使用 protected
关键字来定义受保护的成员变量和成员方法,这些成员只能在类内部或者继承类中访问。
要在类内部调用 protected
成员,可以直接在类中访问,如下所示:
class MyClass {
protected $myProtectedVar = "protected variable";
protected function myProtectedMethod() {
return "protected method";
}
public function callProtected() {
echo $this->myProtectedVar; // 调用受保护的成员变量
echo $this->myProtectedMethod(); // 调用受保护的成员方法
}
}
$obj = new MyClass();
$obj->callProtected(); // 输出 "protected variable protected method"
在继承类中调用 protected
成员,也可以直接访问,如下所示:
class MySubClass extends MyClass {
public function callParentProtected() {
echo $this->myProtectedVar; // 调用父类受保护的成员变量
echo $this->myProtectedMethod(); // 调用父类受保护的成员方法
}
}
$obj = new MySubClass();
$obj->callParentProtected(); // 输出 "protected variable protected method"