在對 密封類 的學習過程中我們知道兩者之間有所相同,那就具體學習一下 kotlin 中的列舉類。
enum class direction
每乙個列舉常量都是乙個物件,列舉常量間使用逗號分隔。
enum class ozwitch(val des: string)
列舉類的每乙個列舉常量都是列舉類的例項,所以可以如上所示通過建構函式進行初始化。
除了不能繼承乙個 enum 外,我們基本可以把 enum 看作乙個常規的類,我們可以向 enum 新增方法。
enum class ozwitch(var des: string)
}
具體呼叫:
object main
}}
正常列印日誌如下:
west
westwestnortheastsouth
north
northwestnortheastsouth
east
eastwestnortheastsouth
south
southwestnortheastsouth
從列印結果來看,每乙個列舉常量例項都會呼叫相同的方法、行為(其具體邏輯也是相同的)。
如何載入自己的邏輯?有兩種方法:
匿名類介面實現
列舉類常量可以宣告自己的匿名類:
enum class ozwitch(var des: string) ")}},
north("north") ")}},
east("east") ")}},
south("south") ")}};
abstract fun showdes()
}
object main
}}
north
i am north
south
i am south
east
i am east
west
i am west
列舉類的每個例項物件都執行了自己相應的方法邏輯。
inte***ce info
enum class ozwitch(var des: string):info "}},
east("east") "}},
south("south") "}},
north("north") "}};
}
object main
}}
west
i am west
east
i am east
south
i am south
north
i am north
列舉類的每個例項物件都執行了自己相應的方法邏輯。 十二 機器學習之路 numpy庫
寫在前面 這篇部落格內容介紹的比較簡單的基本知識,適合python和機器學習零基礎的人看,如果讀者對numpy比較了解的話,可以pass。numpy numpy是python的乙個科學計算的庫,提供了矩陣運算的功能,之前提到的梯度下降法每次迭代都需要遍歷所有的資料,大大降低的程式的運算速度,如果換成...
Vue的學習之路十二 過濾器
p div p div 定義乙個 vue 全域性的過濾器,名字叫做 msgformat 全域性過濾器,所有的vue例項都能共享 vue.filter msgformat function msg,data,data2 vue.filter test function msg var vm newvu...
Linux學習之路(十二) rpm包管理器
軟體包管理器 redhat package manager 打包成一檔案 二進位制程式,庫檔案,配置檔案,幫助檔案 生成資料庫,追蹤所安裝的每乙個檔案 軟體包管理器的核心功能 1.製作軟體包 2.安裝 解除安裝 公升級 查詢 校驗 資料庫的重建 驗證資料報等工作 包含格式 name version ...