Kotlin 進階之路5 類的使用

Kotlin 進階之路 目錄

1.嵌套類

/**
 *類中可以嵌套其他類
 *
 */

//新聞類
class News{
    //默認地區
    private var lang ="cn"

    //新聞分類:嵌套類,與主類關系并不是十分密切,只是形式上的一種合作
    class Category{
        var list = arrayOf("推薦","視頻","熱點","科技","美女")

        val listDesc =list.joinToString()
    }
    //內部類:新聞語種,通常用于不直接對外的類,為主類服務
    inner class Language{
        fun changeRegion(newRegion: String){
            //內部類可以訪問主類的屬性
            lang =newRegion
            println("可以查看$newRegion"+ "地區新聞")
        }
    }
}

fun main(args: Array<String>) {
    //顯示中國地區的新聞列表
    println(News.Category().listDesc)

    //更改新聞地區,內部類必須以來主類的實例,加上自身的實例才能使用
    News().Language().changeRegion("us")
}
推薦, 視頻, 熱點, 科技, 美女
可以查看us地區新聞  

2.數據類

/**
 *類中可以嵌套其他類
 *
 */

//新聞類
class News{
    //默認地區
    private var lang ="cn"

    //新聞分類:嵌套類,與主類關系并不是十分密切,只是形式上的一種合作
    class Category{
        var list = arrayOf("推薦","視頻","熱點","科技","美女")

        val listDesc =list.joinToString()
    }
    //內部類:新聞語種,通常用于不直接對外的類,為主類服務
    inner class Language{
        fun changeRegion(newRegion: String){
            //內部類可以訪問主類的屬性
            lang =newRegion
            println("可以查看$newRegion"+ "地區新聞")
        }
    }
}

fun main(args: Array<String>) {
    //顯示中國地區的新聞列表
    println(News.Category().listDesc)

    //更改新聞地區,內部類必須以來主類的實例,加上自身的實例才能使用
    News().Language().changeRegion("us")
}
推薦, 視頻, 熱點, 科技, 美女
可以查看us地區新聞

3.枚舉類

/**
 * 枚舉類:有限個類型的列舉
 * 其中每一個稱之為枚舉常量(可帶初始值),每一個以逗號分隔
 */

//撲克牌花色
enum class PokerCard{
    紅心,方片,梅花,黑桃
}
//衣服尺碼:帶構造器的枚舉類
enum class Size(val height:Int)
{
    S(150),M(160),L(170),XL(180),XXL(190)
}

fun main(args: Array<String>) {
    // 列舉枚舉類的常量
    println(PokerCard.values().joinToString())

    //枚舉常量
    println(Size.valueOf("XXL").name)
    //枚舉常量排序
    println(Size.valueOf("XXL").ordinal)

    println(Size.values().joinToString { it.name +":"+it.height })
}
紅心, 方片, 梅花, 黑桃
XXL
4
S:150, M:160, L:170, XL:180, XXL:190
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,466評論 25 708
  • 前言 人生苦多,快來 Kotlin ,快速學習Kotlin! 什么是Kotlin? Kotlin 是種靜態類型編程...
    任半生囂狂閱讀 26,282評論 9 118
  • 面向對象編程(OOP) 在前面的章節中,我們學習了Kotlin的語言基礎知識、類型系統、集合類以及泛型相關的知識。...
    Tenderness4閱讀 4,490評論 1 6
  • 一家長說期待和我的見面,我的回復:其實我也是在期待中有點壓力的,因為畢竟我們不是相遇在了最初,我也不知道能把孩子帶...
    Michelle寧閱讀 203評論 0 0
  • 閨蜜通過微信發給我一篇文章--婚姻頭號殺手:女人托付終身的心態。看完之后,我想說,無論何時,女人能托付的只有自己。...
    蝸牛般的笨笨熊閱讀 508評論 0 0