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