📜  Kotlin扩展功能

📅  最后修改于: 2020-10-05 14:45:06             🧑  作者: Mango

在本文中,您将学习使用扩展功能使用新功能扩展类。

假设您需要扩展具有新功能的类。在大多数编程语言中,您要么派生一个新类,要么使用某种设计模式来执行此操作。

但是,在Koltin中,您还可以使用扩展函数来扩展具有新功能的类。基本上,扩展函数是在类外部定义的类的成员 函数 。

例如,您需要在String类中使用一种方法,该方法返回删除了第一个和最后一个字符的新字符串 。此方法在String类中尚不可用。您可以使用扩展函数来完成此任务。


示例:删除字符串的第一个和最后一个字符

fun String.removeFirstLastChar(): String =  this.substring(1, this.length - 1)

fun main(args: Array) {
    val myString= "Hello Everyone"
    val result = myString.removeFirstLastChar()
    println("First character is: $result")
}

运行该程序时,输出为:

First character is: ello Everyon

在这里,扩展函数 removeFirstLastChar ()被添加到String类。

类名是接收者类型(在我们的示例中为String类)。扩展函数的this关键字引用接收者对象。

Kotlin扩展功能接收器的类型和对象


如果您需要将Kotlin集成到Java项目的顶部,则无需将整个代码修改为Koltin。只需使用扩展功能即可添加功能。

话虽如此,很容易滥用扩展功能的力量。我们建议您检查这些资源,以了解何时使用扩展程序以及何时不使用扩展程序:

  • 扩展方法和扩展属性是否不好?
  • 如何滥用Kotlin扩展功能?