Kotlin開發Android筆記3:Kotlin中類與函數


—–類的定義—–

如果你想定義一個類,你只需要使用    class   關鍵字。
//如定義一個TestKotlin類
class TestKotlin{
}
它有一個默認唯一的構造器。當然可以創建額外的構造器,通常情況下我們只需要這個默認的構造器。
你只需要在類名后面寫上它的構造參數,而且如果這個類沒有任何內容可以省略大括號:
class Student(name: String, age:Int)
//那么構造函數的函數體在哪呢?你可以寫在 init 塊中:
class Teacher(name:String, age:Int) {
init{
//TODO
//在init中做構造方法要做的事情,比如初始化數據等
}
}

—–類繼承—–
任何類在默認情況下都是繼承自 Any (就如同java中所有類都是Object的子類),當然同java一樣我們可以繼承其它類。
但是在kotlin中所有的類默認都是不可繼承的(相當於java中類有個性符final),因此只能繼承那些明確聲明為open或者為abstract 的類:

//定義一個open類Bird
open class Bird(name: String)
//定義一個類Duck繼承自Bird
class Duck(name: String, surname: String) : Bird(name)//如果只有單個構造器時,需要在父類繼承下來的構造器中指定需要的參數。來替換Java中super調用。

—-方法(函數)介紹——

函數,也是就我們說的方法在Kotlin中可以使用 fun 關鍵字定義:

//定義onCreate方法,沒有指定返回值時,它就會返回Unit,與Java中的 void類似
fun onCreate(savedInstanceState: Bundle?) {
//TODO
}

Unit 是一個真正的對象。你當然也可以指定任何其它的返回類型:

fun add(x:Int,y:Int):Int{   
return x+y
}

如果返回的結果可以使用一個表達式計算出來,你可以不使用括號而是使用等 號:

fun add(x:  Int,y:  Int)    :   Int =   x   +   y

小提示:分號也不是必須的。當然 你也可以使用分號,分號不是必須的。

—-函數參數——
Kotlin中的參數與Java中有些不同。上面我們寫的一些函數就可以發現:在()中先寫參數的名字再寫參數的數據類型:

fun add(x:Int,y:Int):Int{
return x+y
}

下面看下給參數指定一個默認值使得它們變得可選,這是非常有幫助的。這里有一 個例子,在Activity中創建了一個函數用來toast一段信息:

//我們指定length的值為Toast.LENGTH_SHORT
fun toast(message:String,length:Int =Toast.LENGTH_SHORT){ Toast.makeText(this,message,length).show()
//就等同於我們java的代碼
Toast.makeText(this,message,Toast.LENGTH_SHORT).show();
}
調用的時候可以傳入第二個值或者不傳,這樣可以避免你需要的重載函數:
toast("Hello") toast("Hello", Toast.LENGTH_LONG);

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com