Kotlin - 扩展

Kotlin提供扩展功能,无需继承或使用装饰者模式即可为已有类添加新功能。扩展函数和属性使得为第三方库类添加便捷方法成为可能,且这些扩展静态解析,不改变原有类的实例。例如,可以方便地为`Context`添加获取屏幕尺寸的扩展方法,使用时直接调用,提高开发效率。
摘要由CSDN通过智能技术生成

官方描述

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

详见:https://www.kotlincn.net/docs/reference/extensions.html

主要值得注意的

  • 扩展函数(声明一个扩展函数,我们需要用一个 接收者类型 也就是被扩展的类型来作为他的前缀。)
  • 扩展是静态解析的(扩展不能真正的修改他们所扩展的类。通过定义一个扩展,你并没有在一个类中插入新成员, 仅仅是可以通过该类型的变量用点表达式去调用这个新函数。
  • 扩展的作用域(大多数时候我们在顶层定义扩展——直接在包里。)

简单使用

下图中我在ContextExt.kt文件中,定义了2个对Context的扩展函数。是我们常用的获取屏幕的宽度与高度。

在这里插入图片描述
使用起来非常顺手,在Activity中,直接即可调用。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值