访问控制

访问控制,也称为”可见性”,描述了类的属性和方法的可访问性.
可见性有三个等级:public、protected以及private.把其中一个关键字放到变量声明之前就可以设定变量的课件范围

class Visibility{
    public $var1 = 'Hello';
    public $var2 = 'world';
    public $var3  = 42;   
}

因为在PHP中是必须执行属性的可见性的,不过全部变量的可见性都被设定为了public
在函数声明前使用其中一个关键字,就可以设定类的方法的可见性

class ClassName{
    public function myFunction(){

    }
}

没有明确指定可见性的方法会被当做public,同时,由于方法通常是公共的,所以他们在声明时省略可见性关键字
可以吧上面提到的三个关键字想象为描述了成员的可见性范围的三个圆圈,如果所示.
访问控制插图
一个公共(public)成员可以从任何一个地方访问:
类本身内部、派生的子类和其他类.
举例来说,因为Cat类中的$name属性的可见性为public,我们可以这样做

$cat = new Cat();
$cat->name = 'Hello';

另外,因为$name的可见性是public,正如我们看到的,它同样可以在其他类中访问.
类的受保护(protected)成员只能在类本身以及子类中访问.
私有(private)的限制是最严格的,这些成员只能在声明它们的类中进行访问.私有的类成员不鞥年被子类或者这些类的一个对象实例访问到

发表评论

发表评论

*

沙发空缺中,还不快抢~