学科分类
目录
PHP基础

访问控制修饰符

在PHP中,我们可以规定类中的成员属性和成员方法是否允许被外界访问,通过访问控制修饰符来实现。访问控制修饰符共有3种,分别是public(公有修饰符)、protected(保护成员修饰符)和private(私有修饰符),其具体的作用范围如表1所示。

表1 访问控制修饰符的作用范围

访问控制修饰符 同一个类内 子类 类外
public
protected ×
private × ×

在表1中,“√”表示允许访问,“×”表示不允许访问。为了方便大家理解,下面通过代码演示访问控制修饰符的使用。

 1  class User
 2  {
 3    public $name = '张三';         // 姓名
 4    protected $phone = '400-123456'; // 电话
 5    private $money = '5000';       // 存款
 6  }
 7  $user = new User();
 8  echo $user->name;             // 输出结果:张三
 9  echo $user->phone;           // 报错
 10 echo $user->money;            // 报错

在上述代码中,第1~6行定义了User类。其中,第3行声明了一个公有属性$name,第4行声明了一个受保护的属性$phone,第5行声明了一个私有属性$money。

在类外部实例化User类,并调用类中声明的属性,从输出结果可知,只有public修饰的公有属性$name可以在类外被访问。

需要注意的是,在定义类时,成员属性必须有访问控制修饰符,否则会报错,成员方法如果没有指定访问控制符,则默认为public。

点击此处
隐藏目录