課程
/后端開發
/PHP
/PHP面向對象編程
靜態方法與非靜態方法的區別是什么?
方法可以調用方法么?
2016-03-18
源自:PHP面向對象編程 6-1
正在回答
class?Test{ ????public?$a?=?'c'; ????public?static?function?b(){ ????????echo?'staticFunctionB'; ????} ????public?function?c(){ ????????self::b(); ????} } $instance?=?new?Test(); $attr1?=?$instance->a; $instance->$attr1();?//?在此使用?$instance->($instance->a)();?會報錯
上面為一個例子:類中包含一個 $a 值為 'c',實例化后將其值賦值給一個變量,然后用變量調用類方法,在類中進行函數間調用。
在面向對象編程中屬性可以調用方法么?
按照你說的,強行用一個屬性調用了,應該沒什么意義。你可以自己更全面試試。
靜態可以直接使用類名調用,比如可以處理一些固定不變的數據或一些固定不變的操作,注意不要在靜態方法里摻入任何變量,否則會報錯,因為靜態不需要聲明就可以使用類名調用,而你將一些必須實例的變量傳進去當然會報錯。
上述例子就是方法調用方法,方法 c 調用靜態方法 b。
一個自學者的粗淺見解,希望可以幫助到你,如果有什么不對的請告知我,我愿意去更深入的學習,謝謝。
我叫孟小跳灬 提問者
回答的很好,對我們初學者幫助很大
舉報
從容應對面試官的知識寶典,帶你握面向對象的最重要的核心能力
5 回答在靜態方法中可以用一般屬性的話?使用this 還是self?
1 回答面向對象中的MVC呢?
1 回答為什么下面echo 屬性 而方法不用echo
1 回答面向對象概念
1 回答接口里面也可以定義具體的方法和屬性,但是定義抽象方法時,前面不能加上關鍵詞abstrct。
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-03-19
上面為一個例子:類中包含一個 $a 值為 'c',實例化后將其值賦值給一個變量,然后用變量調用類方法,在類中進行函數間調用。
在面向對象編程中屬性可以調用方法么?
按照你說的,強行用一個屬性調用了,應該沒什么意義。你可以自己更全面試試。
靜態方法與非靜態方法的區別是什么?
靜態可以直接使用類名調用,比如可以處理一些固定不變的數據或一些固定不變的操作,注意不要在靜態方法里摻入任何變量,否則會報錯,因為靜態不需要聲明就可以使用類名調用,而你將一些必須實例的變量傳進去當然會報錯。
方法可以調用方法么?
上述例子就是方法調用方法,方法 c 調用靜態方法 b。
一個自學者的粗淺見解,希望可以幫助到你,如果有什么不對的請告知我,我愿意去更深入的學習,謝謝。
2017-03-15
回答的很好,對我們初學者幫助很大