84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
靜態函數好處:1.物件導向2.常駐內存,速度較快3.管理方便如Yii::app()->params[$name]; 公共方法好處: 1.呼叫方便如app_param($name);在設定一個功能的時候,該怎麼選擇建立成靜態函數還是公共方法?還是說現在都流行物件導向開發了?
Following the voice in heart.
兩者的作用域不同,用途不同,首先來看呼叫靜態函數的語法,靜態函數:
类名:方法
公用函數:
方法
靜態函數是依託類,而方法是全域使用,例如現在需要一個將中文轉換為英文的方法,這種情況肯定是要放在公共方法裡,因為它通用性很高,依賴很小。再舉一個列子,我想在任何地方都能獲取博客的關注人數,Blog:subscribe(),這時候你用new(麻煩不說,執行效率也不如靜態類)或者放在公共函數裡,都是不合適,無疑靜態類別是最佳選擇。
兩者在性能消耗上差異並不大,一般而言,如果是一個需要全局使用的,但是又需要類屬性的方法,都會作為靜態方法,而全局使用,不需要類屬性的話,可以直接作為一個函數就OK。在程式碼規劃上這個是一個考慮重點,例如你更傾向於在物件導向上做得更合理,更規範,那就盡量減少靜態方法,程式碼規範上更統一。現在業務開發,更多還是物件導向更快速且可維護性更強。
兩者的作用域不同,用途不同,首先來看呼叫靜態函數的語法,
靜態函數:
公用函數:
靜態函數是依託類,而方法是全域使用,例如現在需要一個將中文轉換為英文的方法,這種情況肯定是要放在公共方法裡,因為它通用性很高,依賴很小。再舉一個列子,我想在任何地方都能獲取博客的關注人數,Blog:subscribe(),這時候你用new(麻煩不說,執行效率也不如靜態類)或者放在公共函數裡,都是不合適,無疑靜態類別是最佳選擇。
兩者在性能消耗上差異並不大,一般而言,如果是一個需要全局使用的,但是又需要類屬性的方法,都會作為靜態方法,而全局使用,不需要類屬性的話,可以直接作為一個函數就OK。在程式碼規劃上這個是一個考慮重點,例如你更傾向於在物件導向上做得更合理,更規範,那就盡量減少靜態方法,程式碼規範上更統一。現在業務開發,更多還是物件導向更快速且可維護性更強。