写出 php 的 public、protected、private 三种访问控制模式的区别
时间: 2023-08-10 20:02:19 浏览: 160
深入PHP:面向对象、模式与实践(第三版)高清PDF和完整源码
在 PHP 中,有三种访问控制模式:public、protected 和 private。
1. public (公共访问控制符):可以在任何地方被访问,没有访问限制。
2. protected (受保护的访问控制符):只能在当前类或子类中访问,不能在类外部访问。
3. private (私有的访问控制符):只能在当前类中访问,不能在子类或类外部访问。
下面是一个例子,说明这三种访问控制模式的区别:
```php
class MyClass {
public $publicVar = 'public'; // 公共变量
protected $protectedVar = 'protected'; // 受保护变量
private $privateVar = 'private'; // 私有变量
function printVar() {
echo $this -> publicVar; // 可以在类内部和外部访问
echo $this -> protectedVar; // 可以在类内部和子类中访问
echo $this -> privateVar; // 只能在类内部访问
}
}
$obj = new MyClass();
echo $obj -> publicVar; // 可以访问
echo $obj -> protectedVar; // 不能访问
echo $obj -> privateVar; // 不能访问
$obj -> printVar(); // 可以访问类内部方法,输出 public protected private
```
从上面的例子可以看出,公共变量可以在类内部和外部访问,受保护变量只能在类内部和子类中访问,私有变量只能在类内部访问。
阅读全文