1.概述
扩展函数能够让我们与项目无缝接入,我们能够在无侵入的情况下为类添加更多的行为和属性,Kotlin库中很多地方就用到了扩展函数,如Anko库里面的布局系统,集合的使用等。正是由于扩展函数的使用,才可以让我们与JAVA无缝衔接。并且扩展函数的使用非常的简单,下面我将从下面几个方面介绍扩展函数。
- 为什么要使用Kotlin中的扩展函数?
- 如何使用扩展函数和扩展属性?
- 扩展函数和属性原理
- 扩展函数和成员函数区别
- 扩展函数不可以被重写
2.为什么要使用Kotlin中的扩展函数
我们都知道在Koltin这门语言可以与Java有非常好的互操作性,所以扩展函数这个新特性可以很平滑与现有Java代码集成。甚至纯Kotlin的项目都可以基于Java库,甚至Android中的一些框架库,第三方库来构建。扩展函数非常适合Kotlin和Java语言混合开发模式。在很多公司一些比较稳定良好的库都是Java写,也完全没必要去用Kotlin语言重写。但是想要扩展库的接口和功能,这时候扩展函数可能就会派上用场。使用Kotlin的扩展函数还有一个好处就是没有副作用,不会对原有库代码或功能产生影响。
3.如何使用扩展函数和扩展属性
下面我将具体介绍扩展函数和扩展属性
3.1扩展函数的基本使用
下面我们以一个例子来引入
给TextView加粗
//添加扩展函数
fun TextView.setBold() = this.apply {
this.paint.isFakeBoldT