类的属性与普通变量是不同的:如果属性在声明时被赋予初值,则这个值必须是常数,而不能是表达式的结果;类的所有属性在声明时必须用一个关键字指明其“可见性”,这些关键字包括public、protected、private,下面我们来介绍一下这三个关键字的用法和区别。
在类里面定义一个成员的时候需要设置这三个关键字中的一种,然后再声明成员本身。如果没有给一个方法设置访问修饰符,会被默认为public修饰符。
public:表明这是一个公共成员,既可以通过外部对象访问也可以通过特殊变量$this从内部方法访问。如果别的类继承了该类,这个规则也同样适用。下面来看一个例子:
执行结果如下:
protected:表明这是一个受保护的成员,不能从外部的对象访问,只能从内部的方法访问,如果别的类继承了该类,这个规则也同样适用。下面来看一个例子:
执行结果如下:
说明这个成员变量$a是不能通过外部对象的方式访问的,我们将上面的代码稍作修改如下:
再次执行结果如下:
由此可见protected修饰的变量只能从内部的方法访问。
private:表明该成员是私有成员,不能从外部的对象访问,只能从内部的方法访问,如果别的类继承了该类,也无法在别的类中访问该成员,因为私有成员是不能被继承的。下面来看一个例子:
执行结果如下:
可见,子类也是不能访问父类的私有属性的。
公众平台:PHP技术宅 微信号:phpjsz
宅是人的天性,也是一种境界!