为了账号安全,请及时绑定邮箱和手机立即绑定

方法访问控制

<?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();
$car->start();
echo $car->getSpeed();



上面的例子为什么要先定义一个public方法,才定义protected方法?

正在回答

2 回答

定义public的是因为那个方法是get。是为了获取类里面这个$speed私有属性的值。这个方法本身就是为了外部调用使用的。他也可以定义成protected的。但是你要获取他这个值不是太麻烦了么。还要在来个public的方法。让外面调用。他只是获取值,不涉及到设置。不需要这么安全。

0 回复 有任何疑惑可以回复我~

与定义的先后位置没有关系吧

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

方法访问控制

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信