【编程语言】Kotlin之扩展函数

南楼画角 提交于 2019-11-28 02:42:39

简介:

平时Android开发中会使用各种各样的工具类函数,大部分工具类都是对原有对象的一种扩展,例如:

public static void startActivity(Activity act, Class clz){
    Intent intent = new Intent(act, clz);
    act.startActivity(intent);  
}

 

对于这种形式,Kotlin给与我们提供更加方便的调用形式,不需要在调用的时候传入操作对象(例如上面代码的Activity类型函数形参),这就是扩展函数。

 

举个简单的例子:对于上面的工具类,在Kotlin中可以这样调用:act.startActivity(NewActivity.class),为了实现这种方便的调用,需要在Kotlin中做一些必要的工作。

 

fun Any.funcName(): String {}
inline Any.funcName(): String {}
fun Any.funcName() = this.apply {}

 

上面是扩展函数的一般格式,例如我们现在用Kotlin扩展函数重新为上面的工具类写一份Kotlin版本的:

fun Activity.startActivity(Class clz) {
    Intent intent = new Intent(this, clz);
    this.startActivity(intent);  
}

 

现在我们对Activity类扩展了一个新方法:startActivity(Class clz),任何时候我们都可以调用Activity实例的startActivity()方法。

 

注意:

1.别忘记Kotlin的扩展函数实质就是工具类,任何使用的时候,你都需要import这个扩展函数。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!