在PHP5中,可以在类的属性和方法前面加上一个修饰符(modifier),来对类进行一些访问上的控制。

下面表格显示了访问的权限。

修饰符 同一个类中 子类中 全局
private Yes    
protected Yes Yes  
public Yes Yes Yes(默认)

Private的访问权限

private 不能直接被外部调用,只能由当前对象调用。

比如你可以借钱给别人,但不希望别人知道你钱包里面有多少钱。我们把它用private隐藏起来。

<?
class You {
    private $youMoney = 1000;
    //借出钱的方法
    public function loan($number)
    {
        if($this->youMoney >= $number)
        {
            $this->youMoney = $this->youMoney - $number;
            echo "好,这里借给你 $number 元,可是我也不多了.<br>";
        }
        else
        {
            echo "我无法借 $number 元给你,我没有这么多钱<br>";
       }
    }   
}
$you = new You();
$you->loan(300); //第一次借钱
$you->loan(600); //第二次借钱
$you->loan(500); //第三次借钱
//你不能知道我钱包里面的钱数,那是我的隐私.
echo $you->youMoney; //这个语句会出现异常.似有变量不能被外界访问.
?>
View Code

相关文章: