手记

Kotlin 手记 -- 扩展函数

扩展函数表示即使在不修改某个类的源码的情况下,仍然可以打开这个类,向该类添加新的函数。

定义扩展函数的语法结构:

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变得更加简洁、丰富,更加面向对象

0人推荐
随时随地看视频
慕课网APP