protect方法
<?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();
這里的speedUp不是已經定義為protected了嗎?怎么還能在外部調用echo $car->getSpeed();
2016-03-23
看上面那句 //增加start方法,使他能夠調用受保護的方法speedUp實現加速10
start()方法是public的,$car->start()調用的start()方法 ,
start()方法里邊$this->speedUp(),這個在類的內部是可以調用speedUp()方法
2016-03-23
protected表示受保護的,只有本類或子類或父類中可以訪問;speedUp()還是在本類$car中