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

来源:2-7 PHP类和对象之访问控制

菜鸟Wenco

2018-04-27 10:27

<?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.
写回答 关注

2回答

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

    没错吧

    菜鸟Wenc...

    非常感谢!

    2018-04-29 09:23:10

    共 1 条回复 >

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

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

    慕研 回复菜鸟Wenc...

    四个月提升这么多嘛大佬 现在看着还是有点不明白 不太明白self和this到底是怎么用的 我们下明年上半年也要去工作了 现在很懵

    2020-11-02 21:10:00

    共 2 条回复 >

PHP进阶篇

轻松学习PHP中级课程,进行全面了解,用PHP快速开发网站程序

181835 学习 · 2577 问题

查看课程

相似问题