PHP访问控制修饰符(public、protected和private)
访问控制修饰符用于控制类成员是否允许被外界访问。
PHP 中的访问控制修饰符有 3 个,分别是 public(公有修饰符)、protected(保护成员修饰符)和 private(私有修饰符)。
访问控制修饰符的作用范围如下表所示:
为了方便读者理解访问控制修饰符,下面演示访问控制修饰符的使用方法,具体代码如下:
从输出结果可以看出,只有 public 修饰的属性 $name 可以在类外被访问。
注意,在定义类时,属性必须有访问控制修饰符,否则会报错;方法如果没有指定访问控制修饰符,默认为 public。
PHP 中的访问控制修饰符有 3 个,分别是 public(公有修饰符)、protected(保护成员修饰符)和 private(私有修饰符)。
访问控制修饰符的作用范围如下表所示:
| 访问控制修饰符 | 同一个类内 | 子类 | 类外 |
|---|---|---|---|
| public | 允许访问 | 允许访问 | 允许访问 |
| protected | 允许访问 | 允许访问 | 不允许访问 |
| private | 允许访问 | 不允许访问 | 不允许访问 |
为了方便读者理解访问控制修饰符,下面演示访问控制修饰符的使用方法,具体代码如下:
class User
{
public $name = '张三'; // 姓名
protected $phone = '123456'; // 电话
private $money = '5000'; // 存款
}
$user = new User();
echo $user->name; // 输出结果:张三
echo $user->phone; // 报错
echo $user->money; // 报错
在上述代码中:
- 第 1~6 行代码定义了 User 类,第 3 行代码定义了一个公有属性 $name,第 4 行代码定义了一个受保护属性 $phone,第 5 行代码定义了一个私有属性 $money;
- 第 7 行代码实例化 User 类;
- 第 8~10 行代码访问属性。
从输出结果可以看出,只有 public 修饰的属性 $name 可以在类外被访问。
注意,在定义类时,属性必须有访问控制修饰符,否则会报错;方法如果没有指定访问控制修饰符,默认为 public。
ICP备案:
公安联网备案: