方法访问控制

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

DML1874

2015-11-07 15:37

<?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回答

  • 品茗见南山
    2016-01-15 15:22:35

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

  • 梅姐偶尔冒个泡
    2015-11-12 20:46:16

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

PHP进阶篇

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

181835 学习 · 2577 问题

查看课程

相似问题