阅读672 返回首页    go Php编程


PHP类中访问权限关键字介绍

类的属性与普通变量是不同的:如果属性在声明时被赋予初值,则这个值必须是常数,而不能是表达式的结果;类的所有属性在声明时必须用一个关键字指明其“可见性”,这些关键字包括public、protected、private,下面我们来介绍一下这三个关键字的用法和区别。

在类里面定义一个成员的时候需要设置这三个关键字中的一种,然后再声明成员本身。如果没有给一个方法设置访问修饰符,会被默认为public修饰符。

public:表明这是一个公共成员,既可以通过外部对象访问也可以通过特殊变量$this从内部方法访问。如果别的类继承了该类,这个规则也同样适用。下面来看一个例子:

执行结果如下:

protected:表明这是一个受保护的成员,不能从外部的对象访问,只能从内部的方法访问,如果别的类继承了该类,这个规则也同样适用。下面来看一个例子:

执行结果如下:

说明这个成员变量$a是不能通过外部对象的方式访问的,我们将上面的代码稍作修改如下:

再次执行结果如下:

由此可见protected修饰的变量只能从内部的方法访问。

private:表明该成员是私有成员,不能从外部的对象访问,只能从内部的方法访问,如果别的类继承了该类,也无法在别的类中访问该成员,因为私有成员是不能被继承的。下面来看一个例子:

执行结果如下:

可见,子类也是不能访问父类的私有属性的。

最后更新:2017-10-08 21:36:17

  上一篇:go PHP类的static静态属性和静态方法
  下一篇:go PHP中的命名空间namespace