kotlin支持擴(kuò)展函數(shù)
及擴(kuò)展屬性
瞧柔,類裝飾器模式
漆弄,擴(kuò)展內(nèi)容一般建議單獨(dú)維護(hù),使用時(shí)只需要在頭部導(dǎo)入包(import package)即可造锅。
擴(kuò)展函數(shù)
擴(kuò)展函數(shù)可以在不繼承類的情況下撼唾,為類添加新的方法。
擴(kuò)展函數(shù)
只是能夠讓變量點(diǎn)操作
該函數(shù)哥蔚。擴(kuò)展函數(shù)
如果跟原內(nèi)部函數(shù)
重名倒谷,則優(yōu)先使用原內(nèi)部函數(shù)
,即不能做到override
擴(kuò)展函數(shù)
中可以使用this
關(guān)鍵字訪問變量
fun Int.add10(): Int { //為Int添加10
return this + 10 //this即為變量
}
fun foo6() {
var i: Int = 10
System.out.println("${i.add10()}") //輸出20
}
擴(kuò)展屬性
擴(kuò)展屬性可以理解為擴(kuò)展類屬性的getter
與setter
方法糙箍。
//選自官方文檔中的demo
val <T> List<T>.lastIndex: Int
get() = size - 1
x