在PHP中,类的访问修饰符用于控制类成员(属性和方法)的可见性和访问权限。PHP提供了以下几种访问修饰符:
public(公共):
public
。class MyClass {
public $publicProperty = 'Public Property';
public function publicMethod() {
echo 'Public Method';
}
}
$obj = new MyClass();
echo $obj->publicProperty; // 可以访问
$obj->publicMethod(); // 可以访问
protected(受保护):
class MyClass {
protected $protectedProperty = 'Protected Property';
protected function protectedMethod() {
echo 'Protected Method';
}
}
class ChildClass extends MyClass {
public function accessProtected() {
echo $this->protectedProperty; // 可以在子类中访问
$this->protectedMethod(); // 可以在子类中访问
}
}
$obj = new ChildClass();
$obj->accessProtected(); // 可以访问
// echo $obj->protectedProperty; // 错误:不能在类外部直接访问
// $obj->protectedMethod(); // 错误:不能在类外部直接访问
private(私有):
class MyClass {
private $privateProperty = 'Private Property';
private function privateMethod() {
echo 'Private Method';
}
public function accessPrivate() {
echo $this->privateProperty; // 可以在类的内部访问
$this->privateMethod(); // 可以在类的内部访问
}
}
$obj = new MyClass();
$obj->accessPrivate(); // 可以访问
// echo $obj->privateProperty; // 错误:不能在类外部直接访问
// $obj->privateMethod(); // 错误:不能在类外部直接访问
这些访问修饰符帮助开发者控制类的封装性,确保类的内部实现细节不会被外部代码随意访问或修改。