課程
/后端開發
/PHP
/PHP進階篇
調用兩次start()后值會疊加,兩次調用不是分開沒有關聯的?但speed明明不是靜態的啊
2017-06-04
源自:PHP進階篇 2-7
正在回答
每個speed都是其對象的一個屬性,該屬性隨對象的產生而被在內存上給予一個獨立的地址去存儲,每次高對象調用其start方法,都是將其本身start屬性加10。而當前對象未被銷毀,上一次的值仍存在某一地址上,所以每調用一次,都在當前屬性值上作出相應改變。
對象實例化之后屬性就賦值了,調用2次start會在你實例化的屬性值的基礎上進行疊加。
舉報
輕松學習PHP中級課程,進行全面了解,用PHP快速開發網站程序
1 回答調用的方法是不是必須有返回值,靜態方法中是不是必須是靜態的屬性?
1 回答靜態方法調用靜態變量的問題。。 return $speed+10;為什么錯的??一定要寫return self::$speed+=10;?
1 回答靜態屬性和靜態函數的調用有沒有什么限制
3 回答Car::speedUp(); //調用靜態方法加速
2 回答動態調用靜態方法
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-02-18
每個speed都是其對象的一個屬性,該屬性隨對象的產生而被在內存上給予一個獨立的地址去存儲,每次高對象調用其start方法,都是將其本身start屬性加10。而當前對象未被銷毀,上一次的值仍存在某一地址上,所以每調用一次,都在當前屬性值上作出相應改變。
2017-06-04
對象實例化之后屬性就賦值了,調用2次start會在你實例化的屬性值的基礎上進行疊加。