Kotlin 實戰學習 函數的定義與調用

3.2 讓函數更好調用

可讀性優化 => 命名參數

當指明一個參數的名稱的時候,爲了避免混淆,那它之後的所有參數都要標明名稱。

避免過多的函數重載 => 默認參數值

消除靜態工具類 => 頂層函數和屬性

3.3 給別人的類添加方法:擴展函數和屬性

實質上,擴展函數是靜態函數,她把調用對象作爲他的第一個參數。調用擴展函數,不會創建適配對象或任何運行時的額外消耗。注意,因爲是靜態函數,所以它並不允許你打破它的封裝性,同時也意味着擴展函數不能被子類的重寫。

這也是kotlin的一大特色,可以平滑的與現有的代碼集成。不過由於存在偶然性的命名衝突。所以它不會自動的在整個項目的範圍內生效。爲了使用,需要進行導入,可以使用關鍵字as來修改導入的類或者函數的名稱。

當然了,我們知道類中的屬性,其實就是setter ,getter ,加字段嘛,擴展函數當然也可以進行類的屬性的擴展,或者說是使用類似類屬性的調用方式來調用getter,setter函數,儘管它們被稱爲屬性,但是它們沒有任何狀態,因爲沒有合適的地方來存儲它。

3.6 讓你的代碼更整潔:局部函數和擴展

好代碼的重要標準之一就是減少重複代碼,不要重複你自己(DRY)。

但是在一種情況下,比如函數中存在的重複代碼,如果將這些抽象成類的方法,可能顯得多餘,使得類看得臃腫。
Kotlin給出的解決方案是在函數中嵌套提取的函數。

發佈了135 篇原創文章 · 獲贊 19 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章