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方法?
定义public的是因为那个方法是get。是为了获取类里面这个$speed私有属性的值。这个方法本身就是为了外部调用使用的。他也可以定义成protected的。但是你要获取他这个值不是太麻烦了么。还要在来个public的方法。让外面调用。他只是获取值,不涉及到设置。不需要这么安全。
与定义的先后位置没有关系吧
PHP进阶篇
181835 学习 · 2577 问题
相似问题