扩展函数表示即使在不修改某个类的源码的情况下,仍然可以打开这个类,向该类添加新的函数。
定义扩展函数的语法结构:
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变得更加简洁、丰富,更加面向对象
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦