扩展函数表示即使在不修改某个类的源码的情况下,仍然可以打开这个类,向该类添加新的函数。
定义扩展函数的语法结构:
fun ClassName.methodName(param1: Int, param2: Int): Int {
return 0
}
相比于定义一个普通的函数,
定义扩展函数只需要在函数名的前面加上一个ClassName.的语法结构,
就表示将该函数添加到指定类当中了。
fun String.lettersCount(): Int {
var count = 0
for (char in this) {
if (char.isLetter()) {
count++
}
}
return count
}
将lettersCount()方法定义成了String类的扩展函数,那么函数中就自动拥有了String实例的上下文。
因此lettersCount()函数就不再需要接收一个字符串参数了,而是直接遍历this即可,
因为现在this就代表着字符串本身。
val count = "ABC123xyz!@#".lettersCount()
扩展函数在很多情况下可以让API变得更加简洁、丰富,更加面向对象
點擊查看更多內(nèi)容
為 TA 點贊
評論
評論
共同學(xué)習(xí),寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦