Android 新贵 kotlin (3)

《Android 新贵 kotlin (3)》

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

《Android 新贵 kotlin (3)》

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

《Android 新贵 kotlin (3)》

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

《Android 新贵 kotlin (3)》

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

《Android 新贵 kotlin (3)》

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

《Android 新贵 kotlin (3)》

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

《Android 新贵 kotlin (3)》

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

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

《Android 新贵 kotlin (3)》

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

《Android 新贵 kotlin (3)》

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

《Android 新贵 kotlin (3)》
《Android 新贵 kotlin (3)》

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

《Android 新贵 kotlin (3)》
《Android 新贵 kotlin (3)》

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

《Android 新贵 kotlin (3)》

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

《Android 新贵 kotlin (3)》

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

《Android 新贵 kotlin (3)》

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

《Android 新贵 kotlin (3)》

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

《Android 新贵 kotlin (3)》
《Android 新贵 kotlin (3)》

    原文作者:zidea
    原文地址: https://www.jianshu.com/p/79ce85de982c
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞