Kotlin 扩展函数和扩展属性的使用方法

这篇文章主要介绍了Kotlin 扩展函数和扩展属性的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

Kotlin 能够扩展一个类的新功能而无需继承该类或者使用像装饰者这样的设计模式。 这通过叫做 扩展 的特殊声明完成。 例如,你可以为一个你不能修改的、来自第三方库中的类编写一个新的函数。 这个新增的函数就像那个原始类本来就有的函数一样,可以用普通的方法调用。 这种机制称为 扩展函数 。此外,也有 扩展属性 , 允许你为一个已经存在的类添加新的属性。

前言

作为安卓开发,我们常常碰到这样的场景,需要把以dp为单位的值转化为以px为单位。这时候我们常会写一个Utils类,比如说

 public class Utils { public static float dp2px(int dpValue) { return (0.5f + dpValue * Resources.getSystem().getDisplayMetrics().density); } } 

在代码中直接调用 Utils.dp2px(100) 来使用,

 val dp2px = Utils.dp2px(100)

如果用kotlin扩展函数的方式来实现,会是怎么调用呢?

 val dp2px = 100.dp2px()

是不是很惊讶,100作为一个Int,竟然直接调用了一个dp2px方法,如果你去源码里找找,其实是没有个方法的。我们没有动源码,而是使用拓展函数的方式为Int增加了一个方法。

 fun Int.dp2px(): Float { return (0.5f + this * Resources.getSystem().displayMetrics.density) } 

扩展函数

我们再来举个

以上就是Kotlin 扩展函数和扩展属性的使用方法的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » 移动