Kotlin類對象class初始化與使用
只要是面向?qū)ο蟮木幊陶Z言,基本上都有類Class的用法,只是好不好用,好不好記而已,面向?qū)ο笫?code>c++開始引入的,但是c++ 關(guān)于類的東西,弄的太復雜,其實在真正的項目中,很少用到非常多復雜的概念。
Kotlin 是一種追求簡潔的語言,在類上也下了不少功夫,放棄了很多c++ 中類非常復雜的概念,其實對于類可以這樣來理解,為了復用的方便性和完整性,我們把變量和函數(shù)組合在一起,形成了類的概念。
類的初始化和使用
Kotlin 中類的定義也是非常的簡單的,沒有太多的概念需要說明,對于類的定義更多的其實可以參考函數(shù)和變量。
class AutoMobile(name:String) {
init {
println(name)
}
fun Driver(){
println("前驅(qū)")
}
}我們用class 定義了一個 AutoMobile 的類,這個類可以接受一個參數(shù) name,類初始化的時候是從 init 開始的。
對比與c++的語言,Kotlin 完成一個類是非常簡單的,對于需要簡單使用類的編程人員,是不需要了解 c++ 的構(gòu)造函數(shù),析構(gòu)函數(shù),就能完成一個類的編寫。
我們可以這樣的使用他。
var auto:AutoMobile = AutoMobile("大眾")
auto.Driver()像調(diào)用一個函數(shù)一樣,我們初始化了 auto:AutoMobile ,帶了一個name的參數(shù)。也許 c++ 顧忌得太多,才是類的用法變得非常的復雜。這里不需要public的聲明,因為默認都是公開的,在寫項目的時候,除非有一些特別的函數(shù)或者變量不讓人知道以后,大部分的情況都是公開的。
我一直都覺得,屬性獲取方法與設置方法 那是非常奇怪的一種編程方式,每次看到c# 或者 java代碼中,一大堆 getxxxx(),setxxxx(),覺得都大可不必,這種編程方式只會耗盡程序員的心血,換不回來程序的可讀性和穩(wěn)定性。
繼承
就有類有了這個繼承的作用,才出現(xiàn)了這么多的設計模式,也可以說,它降低了程序設計的復雜度。但是類的繼承,其實用好了,不是那么的簡單。
我們定義了一個Car的類,繼承了AutoMobile
class Car(name:String):AutoMobile(name) {
init {
println(name)
}
}被繼承的,也繼承了他的參數(shù),這點確實有點意思,可以少寫很多代碼。AutoMobile代表的是基類,需要在前面聲明一個關(guān)鍵字open`。
當然 Kotlin 抽象類,關(guān)鍵字為abstract 和接口關(guān)鍵字為interface ,這里就不做詳談。
小結(jié)
面向?qū)ο蟮木幊陶Z言,就是有了對象,才是得大工程,大項目的組織方式變得越來越簡單,使用好類可以設計出很好的代碼框架,當然類的使用看起來簡單,真正的要做好,做好框架并不是那么簡單的。
到此這篇關(guān)于Kotlin類對象class初始化與使用的文章就介紹到這了,更多相關(guān)Kotlin類對象class內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android FlowLayout流式布局實現(xiàn)詳解
這篇文章主要為大家詳細介紹了Android FlowLayout流式布局的實現(xiàn)方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-09-09

