在PHP中,有三种访问修饰符可用于控制类的属性和方法的访问权限:public(公共)、protected(受保护)和private(私有)。
class MyClass {
public $publicProperty;
public function publicMethod() {
// 公共方法的实现
}
}
$obj = new MyClass();
$obj->publicProperty = "Public Property"; // 可以直接访问公共属性
$obj->publicMethod(); // 可以直接调用公共方法
class MyClass {
protected $protectedProperty;
protected function protectedMethod() {
// 受保护方法的实现
}
}
$obj = new MyClass();
$obj->protectedProperty = "Protected Property"; // 不能直接访问受保护属性
$obj->protectedMethod(); // 不能直接调用受保护方法
class MyClass {
private $privateProperty;
private function privateMethod() {
// 私有方法的实现
}
}
$obj = new MyClass();
$obj->privateProperty = "Private Property"; // 不能直接访问私有属性
$obj->privateMethod(); // 不能直接调用私有方法
需要注意的是,访问修饰符只能在类的定义中使用,不能在类的实例化对象中使用。而且,子类可以继承父类的受保护和公共属性和方法,但不能继承父类的私有属性和方法。