Kotlin Android開發·繼承、構造和接口

初出茅廬在學習,君若有不喜之處,吾願聽君之見,然存己身之斷!海納百川,但存己見!
在這裏插入圖片描述


Kotlin繼承

凡是能看到這裏,相信各位都是程序員吧,但是程序員也有不同,有做Web前端的,有做後臺的,也有做移動端的!做這些方向的技術人員都是程序員,所以,可以理解爲繼承自程序員,來表述各位的專業方向!這就是繼承!可以參考:Java 學習之路 類的繼承

拉出來(Java 學習之路 類的繼承)文章中的貓和老虎
在這裏插入圖片描述

Java中的繼承通過 extends 關鍵字來實現!Kotlin 則通過 “ : ” 來實現,接下來就用繼承來實現上方的關係,先只實現貓咪那一個分支!

首先創建Cat類

open class Cat {

    var skill = " 我會上樹 "
    var dislike = " 我討厭洗澡 "

}

在這裏在類前加入了open關鍵字,它的作用是表明這個類是可以被繼承的,如果不加,則表明這個類不可以被繼承!

創建黃上這個貓,並繼承自貓類:

class CatYellowUp : Cat() {
    var name = "我是貓黃上"
}

繼承使用 “ : ” ,後面接的是繼承的類,並加括號!代表 CatYellowUp類 繼承自 Cat類!

創建紅桃貓,也是如此:

class CatRedPeach : Cat() {
    var name = "我是貓紅桃"
}

這樣就實現了最基本的繼承關係!之後在main函數中運行它!

fun main() {
    val yellowUp = CatYellowUp()
    val redPeach = CatRedPeach()

    //打印黃上
    println(yellowUp.name + yellowUp.skill + yellowUp.dislike)

    //打印紅桃
    println(redPeach.name + redPeach.skill + redPeach.dislike)
}

運行結果:
在這裏插入圖片描述


Kotlin構造

構造分爲 主構造函數次構造函數 ,Kotlin中每個類都會有一個默認不帶有參數的主構造函數,當然,你也可以給它加入一些參數。


主構造函數

主構造函數沒有函數體,直接定義在類名之後,舉個例子:

class Study(var name: String) {

    fun study() {
        println(name + " 在學習Kotlin")
    }

}

此時在main函數中調用就要傳入這個參數

fun main() {
    Study("CSDN女神").study()
}

在這裏插入圖片描述

如果需要繼承,可以這麼寫,舉例 CSDN女神類 繼承自那個寫好的Cat類,當然,我沒有貓的屬性!

class CsdnGoddess(val par: String) : Cat() {
    
}

次構造函數

次構造函數通過 constructor 關鍵字來實現,舉個例子

Study:

class Study {

    var str = ""

    constructor(name: String) {
        str = name + " 在學習Kotlin"
    }

    fun study() {
        println(str)
    }
}

Main:

fun main() {
    Study("CSDN女神").study()
}

在這裏插入圖片描述


注意點

結果是一樣的!值得注意的是:當一個類主構造函數和次構造函數同時出現時,所有的次構造函數都必須調用主構造函數! 代碼舉例:

class CsdnGoddess(var name: String, age: String) {

    constructor(name2: String) : this(name2, "") {

    }
}


Kotlin接口

在Java中,實現接口用關鍵字 implements,但在Kotlin中不是,而是使用 “ : ”,沒錯,無論是繼承還是實現接口都是使用冒號,如果需要繼承並實現接口,那麼只需要用逗號分割即可!如下:繼承自Cat並實現Studys接口!

創建Studys接口:

interface Studys {
    fun study()
    fun sleep()
}

實現Studys接口:

class CsdnGoddess(var name: String) : Cat(), Studys {
    override fun study() {
        println(name + "學習")
    }

    override fun sleep() {
        println(name + "睡覺")
    }
}

之後便是重寫方法!運行試一下!

fun main() {
    CsdnGoddess("CSDN女神").study()
    CsdnGoddess("CSDN女神").sleep()
}

在這裏插入圖片描述


本章小結

這就是一些基本的使用方法,有很多跟Java很相似,接下來要學習Java中所沒有的一些東西!


初出茅廬在學習,君若有不喜之處,吾願聽君之見,然存己身之斷!海納百川,但存己見!




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