php-public private protected

在php中有很多时候大家经常在定义方法的时候对public private protected分不清楚,不知道该用哪个定义,今天就拿一个小例子来给大家讲一下。

class father
{
    public function a()
    {
        echo function a;
    }

    private function b()
    {
        echo function b;
    }

    protected function c()
    {
        echo function c;
    }
}

class child extends father
{
    function d()
    {
        parent::a();//调用父类a方法
    }

    function e()
    {
        parent::b();//调用父类b方法
    }

    function f()
    {
        parent::c();//调用父类c方法
    }

}

    $father = new father();
    $father->a();
    $father->b();//显示错误 外部无法调用私有的方法 Call to protected method father::b()
    $father->c();//显示错误 外部无法调用受保护的方法Call to private method father::c()
    $chlid = new child();
    $chlid->d();
    $chlid->e();
    $chlid->f();//显示错误 无法调用父类private的方法 Call to private method father::f()

发表评论

发表评论

*

沙发空缺中,还不快抢~