在本文中,您將學(xué)習(xí)如何使用擴(kuò)展函數(shù)擴(kuò)展具有新功能的類。
假設(shè)您需要擴(kuò)展具有新功能的類。在大多數(shù)編程語(yǔ)言中,您要么派生一個(gè)新類,要么使用某種設(shè)計(jì)模式來執(zhí)行此操作。
但是,在Koltin中,您也可以使用擴(kuò)展函數(shù)來擴(kuò)展具有新功能的類。基本上,擴(kuò)展函數(shù)是在類外部定義的類的成員函數(shù)。
例如,您需要在String類中使用一種方法,該方法返回刪除了第一個(gè)和最后一個(gè)字符的新字符串。此方法在String類中不存在。您可以使用擴(kuò)展函數(shù)來完成此任務(wù)。
fun String.removeFirstLastChar(): String = this.substring(1, this.length - 1) fun main(args: Array<String>) { val myString= "Hello Everyone" val result = myString.removeFirstLastChar() println("輸出結(jié)果: $result") }
運(yùn)行該程序時(shí),輸出為:
輸出結(jié)果: ello Everyon
在這里,擴(kuò)展函數(shù)removeFirstLastChar ()被添加到String類中。
類名是接收者類型(在我們的示例中為String類)。 擴(kuò)展函數(shù)中的this關(guān)鍵字引用接收者對(duì)象。
如果您需要將Kotlin集成到Java項(xiàng)目的頂部,則無需將整個(gè)代碼修改為Koltin。只需使用擴(kuò)展函數(shù)添加功能即可。