kotlin|浅谈kotlin中的扩展方法在安卓中的应用
首先给大家介绍下kotlin扩展函数的定义格式
kotlin的扩展函数定义格式为:定义一个函数,在被定义的函数前面添加“类名.”,该函数即为该类名对应类的扩展函数
【kotlin|浅谈kotlin中的扩展方法在安卓中的应用】如给安卓中TextView定义一个判断TextView中的文本是否不为空的方法:
文章图片
使用扩展函数如何我要对一个EidtText(PS:TextView是EditText父类所以EditText也会享有它定义的扩展函数)输入文本是否为空
文章图片
其中etMsg为一个EditText
是不是觉得很简单?是不是觉很简洁?
下面来了解他的原理kotlin的扩展函数的原理,原理其实也很简单就是扩展函数在调用的时候会将调用者实力本身隐式的传过去
如上例中的etMsg.isNoEmpTy()在调用时会将etMsg实例对象本身传递过去 ,而在扩展函数中this就是表示调用者实例对象
如上例中的在调用etMsg.isNoEmpTy() 时 TextView.isNoEmpty()中的this便是表示etMsg对象。
值得注意的是,因为需要传递实例对象本身过去所以不能给不能实例化对象的类定义扩展函数和扩展属性,扩展的方式为静态方式所以当子类父类都同时扩展了同样的方法时会是运行各自扩展的功能互不干扰(子类调用的是子类的扩展,父类调用父类的扩展)。
最后.....感谢各位看官,下期我们为大家分享下扩展属性
推荐阅读
- 热闹中的孤独
- JS中的各种宽高度定义及其应用
- 我眼中的佛系经纪人
- 《魔法科高中的劣等生》第26卷(Invasion篇)发售
- Android中的AES加密-下
- 放下心中的偶像包袱吧
- C语言字符函数中的isalnum()和iscntrl()你都知道吗
- C语言浮点函数中的modf和fmod详解
- C语言中的时间函数clock()和time()你都了解吗
- 如何在Mac中的文件选择框中打开系统隐藏文件夹