問下 我對(duì) 這個(gè)代碼的理解是否正確
?class Car {
? ?private static $speed = 10;
? ?
? ?public static function getSpeed() {
? ? ? ?return self::$speed;
? ?}
? ?
? ?public static function speedUp() {
? ? ? ?return self::$speed+=10;
? ?}
} // 這個(gè)是父類 第一個(gè)$speed ?是私有的靜態(tài)的屬性 值是10 ?第二個(gè)getSpeed 是公共的靜態(tài)方法 這個(gè)方法 是獲取 ?這個(gè)父類里面的屬性$speed的 self是什么意思 不清楚 ? 然后第三個(gè)是類里面的方法 ?是讓這個(gè)父類里面的$speed屬性 自加10的意思 我不懂 第二個(gè) 方法 有啥用 就是獲取么?那么 刪除掉 第二個(gè)方法 直接運(yùn)行 第三個(gè)方法 讓$speed屬性自加10不行么?第二個(gè) 方法 有什么用呢?
class BigCar extends Car {
? ?public static function start() {
? ? ? ?parent::speedUp(); //這個(gè)是子類了 ? ?這個(gè)子類里面的start()方法 就是調(diào)用 父類里面的speedUp這個(gè) 方法的
? ?}
}
BigCar::start();echo BigCar::getSpeed();
求高手 詳細(xì) 解答 萬分感謝 ?特別是 父類 里面的 第二個(gè)方法 ?我不知道有啥用 ?可以省略么?如果省略 會(huì)怎么樣?
2015-12-05
你的報(bào)錯(cuò)問題是,你把方法刪了,還去調(diào)用那個(gè)方法。echo BigCar::getSpeed(); ? 去掉這行。
1、靜態(tài)屬性 是共享的,而不是一個(gè)實(shí)例對(duì)象對(duì)應(yīng)一個(gè)屬性。 每一個(gè)實(shí)例對(duì)象都可以對(duì)它進(jìn)行操作。
2、靜態(tài)屬性可以通過普通方法調(diào)用。
3、2都回答了可以通過普通方法調(diào)用啦。
2015-12-05
我說 你刪除getSpeed方法后的報(bào)錯(cuò)代碼哦
2015-12-05
class Car {
? ? private static $speed = 10;
? ? public static function getSpeed() {
? ? ? ? return self::$speed;
? ? }
? ? public static function speedUp() {
? ? ? ? return self::$speed+=10;
? ? }
}
class BigCar extends Car {
? ? public static function start() {
? ? ? ? parent::speedUp();
? ? }
}
BigCar::start();
echo BigCar::getSpeed(); ?
2015-12-05
你把代碼發(fā)給我看一下
2015-12-05
第二個(gè)方法存在的意義是,在你不想對(duì)$speed進(jìn)行 假發(fā)運(yùn)算時(shí)就想得到它的值時(shí)調(diào)用它。
你要是覺得,你每次想訪問$speed值的時(shí)候 想得到的結(jié)果就是當(dāng)前值 + 10 后的結(jié)果的話,可以省略