为了账号安全,请及时绑定邮箱和手机立即绑定

Android 新贵 kotlin (3)

标签:
Android

webp

图左侧为 kotlin 的代码,而右侧为 java 的代码,如果您是有 Java 背景的,可以对比来看一看。


webp

kotlin 和老大的关系非同一般,这是 我们可以通过选中代码,然后右键选择,来将 java 的代码转换为 kotlin 的代码。


webp

转后的代码,简单明了,这也是他能挖老大墙角的原因。

webp

我们通常会通过分隔符,这里是空格,将字符串拆分为集合,然后根据需要获取我们想要的信息,这种场景想必大家都遇到过。下面的处理方式,大气点叫解决方案。大家可能再熟悉不过了。

webp

我们可以定义数据类型,这样相对数组更直接和容易理解。

webp

我们可以 kotlin 提供一种用于数据结构的类 叫做 data class。

webp

上面的代码对于 java developer 也是再熟悉不过了。

在 java 中我们通过 setter 和 getter 将私有变量取值和赋值进行控制。

webp

这里 set 无需带属性名,field 代表字段。今天分享主要让大家学会如何用 kotlin way 来写代码

webp

对于很多公用的属性,我们希望计算一次然后多次使用,再次使用时无需计算,例如我们终端设备的信息,在这里只需要获取一次就够了,我们就可以用到 kotlin 的代理类来实现。 代理类通过 by 这个关键字来实现。这里用到了 lazy 表示只有在第一次访问才会计算。

webp

webp

上面我们可以通过代理来实现观察者模式。

webp

webp

下图代码似成相识,特别你有 java 背景,会倍感亲切。我们看一看如何用 kotlin way 来实现。我们通常会在项目中写一些工具类来提供一些通用的方法。看这里的 StringUtil 提供一些对字符串操作的方法。

webp

大家多数都是从 java 转而学习 kotlin 。这里值得注意的是 kotlin 支持多范式编程的语言,我们需要用 kotlin 的方式来写程序,如果我们用 kotlin 来写代码,思维还是 java 方式。那就失去用 kotlin 的意义了。这里我们 object 来代替高成本的 class。

webp

看看这些代码,我们就又回到了 java。

webp

其实在 kotlin 我们很容易就可以扩展我们基本数据类型的方法。来扩展其一些方法。

webp

多态在 java 我们通常需要根据参数个数的不同,写多个同名的函数实现多态。这里我们给参数默认值来实现多态。

webp

webp



作者:zidea
链接:https://www.jianshu.com/p/79ce85de982c


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消