在面向对象编程中,protected
(受保护的)是一种访问修饰符。
当一个成员(如属性或方法)被声明为 protected
时,
它可以在定义它的类以及该类的子类中被访问,但在类的外部无法直接访问。
例如,在 PHP 中:
class ParentClass {
protected $protectedProperty;
protected function protectedMethod() {
// 方法的实现
}
}
class ChildClass extends ParentClass {
public function accessProtectedMembers() {
$this->protectedProperty = 10; // 可以访问父类的受保护属性
$this->protectedMethod(); // 可以调用父类的受保护方法
}
}
在上述示例中,$protectedProperty
和 protectedMethod
在 ParentClass
的子类 ChildClass
中是可访问的,但在其他不相关的类中无法直接访问。
这有助于实现封装和信息隐藏,同时允许子类在一定程度上继承和扩展父类的功能。