Android 新貴 kotlin (3)

圖左側爲 kotlin 的代碼,而右側爲 java 的代碼,如果您是有 Java 背景的,可以對比來看一看。


kotlin 和老大的關係非同一般,這是 我們可以通過選中代碼,然後右鍵選擇,來將 java 的代碼轉換爲 kotlin 的代碼。


轉後的代碼,簡單明瞭,這也是他能挖老大牆角的原因。

我們通常會通過分隔符,這裏是空格,將字符串拆分爲集合,然後根據需要獲取我們想要的信息,這種場景想必大家都遇到過。下面的處理方式,大氣點叫解決方案。大家可能再熟悉不過了。

我們可以定義數據類型,這樣相對數組更直接和容易理解。

我們可以 kotlin 提供一種用於數據結構的類 叫做 data class。

上面的代碼對於 java developer 也是再熟悉不過了。

在 java 中我們通過 setter 和 getter 將私有變量取值和賦值進行控制。

這裏 set 無需帶屬性名,field 代表字段。今天分享主要讓大家學會如何用 kotlin way 來寫代碼

對於很多公用的屬性,我們希望計算一次然後多次使用,再次使用時無需計算,例如我們終端設備的信息,在這裏只需要獲取一次就夠了,我們就可以用到 kotlin 的代理類來實現。 代理類通過 by 這個關鍵字來實現。這裏用到了 lazy 表示只有在第一次訪問纔會計算。

上面我們可以通過代理來實現觀察者模式。

下圖代碼似成相識,特別你有 java 背景,會倍感親切。我們看一看如何用 kotlin way 來實現。我們通常會在項目中寫一些工具類來提供一些通用的方法。看這裏的 StringUtil 提供一些對字符串操作的方法。

大家多數都是從 java 轉而學習 kotlin 。這裏值得注意的是 kotlin 支持多範式編程的語言,我們需要用 kotlin 的方式來寫程序,如果我們用 kotlin 來寫代碼,思維還是 java 方式。那就失去用 kotlin 的意義了。這裏我們 object 來代替高成本的 class。

看看這些代碼,我們就又回到了 java。

其實在 kotlin 我們很容易就可以擴展我們基本數據類型的方法。來擴展其一些方法。

多態在 java 我們通常需要根據參數個數的不同,寫多個同名的函數實現多態。這裏我們給參數默認值來實現多態。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章