方法訪問控制
<?php
class Car {
??? private $speed = 0;
?? ?
??? public function getSpeed() {
??????? return $this->speed;
??? }
?? ?
??? protected function speedUp() {
??????? $this->speed += 10;
??? }
?? ?
??? //增加start方法,使他能夠調(diào)用受保護的方法speedUp實現(xiàn)加速10
??? public function start(){
??????? $this -> speedUp();
??? }
}
$car = new Car();
$car->start();
echo $car->getSpeed();
上面的例子為什么要先定義一個public方法,才定義protected方法?
2016-01-15
定義public的是因為那個方法是get。是為了獲取類里面這個$speed私有屬性的值。這個方法本身就是為了外部調(diào)用使用的。他也可以定義成protected的。但是你要獲取他這個值不是太麻煩了么。還要在來個public的方法。讓外面調(diào)用。他只是獲取值,不涉及到設(shè)置。不需要這么安全。
2015-11-12
與定義的先后位置沒有關(guān)系吧