问答详情
源自:2-7 PHP类和对象之访问控制

请大神过来看看我这样理解的对吗?

<?php
class Car {
    private $speed = 0;
    
    public function getSpeed() {
        return $this->speed;
    }
    
    protected function speedUp() {
        $this->speed += 10;
    }
    
    //增加start方法,使他能够调用受保护的方法speedUp实现加速10
    public function start(){
        $this->speedUp();
    }
}
$car = new Car();//创建的对象里面能够访问的方法只有getSpeed()和start(),此时速度为0
$car->start();//调用方法start(),而start()可以访问私有方法speedUp(),此时速度为10
echo $car->getSpeed();//最后调用可以访问的公有方法来获取当前速度,最后输出为10.

提问者:菜鸟Wenco 2018-04-27 10:27

个回答

  • 神父有难
    2018-04-27 14:11:58
    已采纳

    没错吧

  • 慕丝1286399
    2018-08-02 23:47:58

    protect方法不能被外部类访问,$car new Car()是外部类所以不能调用类Car的protect方法,记住了class X{}大括号之外的都是外部类,父类和子类就不一样,有继承关系所以可以调用