PHP protected 关键词

定义和用法

protected 关键字是一个访问修饰符。它将属性或方法标记为受保护的。

受保护的属性和方法只能在其被定义的类以及从该类派生的任何类中使用。任何其他代码都无法使用它们。

相关页面

参考手册:private 关键词

参考手册:public 关键词

教程:PHP OOP - 访问修饰符

实例

使用 protected 来防止外部代码修改属性:

<?php
class MyClass {
  protected $number = 0;
}

class AnotherClass extends MyClass {
  public function add1() {
    $this->number++;
  }

  public function getNumber() {
    return $this->number;
  }
}

$obj = new AnotherClass();
$obj->add1();
echo "The number is " . $obj->getNumber();
?>

亲自试一试

在这个例子中,$number 属性被标记为 protected,这意味着它只能在 MyClass 内部以及从 MyClass 派生的类中使用。AnotherClass 继承自 MyClass,因此它可以访问和修改 $number 属性。然而,如果尝试在 AnotherClass 外部直接访问 $number,将会导致错误,因为 protected 修饰符阻止了这种访问。这有助于确保类的封装性,并只允许在类的继承层次结构中的适当位置进行访问。