Googleの公式言語がJavaからKotlinに変更されて久しい。今までJavaで行こうかなと思ってたけど、objective-cからswiftへ、javaからKotlinへなんて、世の中の流れを見ていると、互換性が保たれているとは言え、古い言語を使っていると情報がなくなり、老害扱いされかねないので、今年度はチョットずつでも変えて行こうと心に誓った(遅すぎ笑)
まず、勉強がてら、今までの簡単なjavaで書いていたクラスをKotlinで書いていこうと思って躓いたことを記録していく。文法がらみはネットで探せば大体わかるし、nullセーフな言語ということも理解できる。最初に躓いたのはEventListenerを継承した独自のInterfaceのインスタンス化だった。つまりは匿名クラスの書き方で躓いた。
[cc lang=”kotlin”]
interface CheckQuesDBListener : EventListener{
fun checkOK(msg : String)
fun checkError(msg : String)
}
[/cc]
上のようなリスナーを定義して、匿名クラスを書くには
[cc lang=”kotlin”]
val lis = object : CopyDBListener{
override fun copyStart(){
//println(“コピー開始”)
}
override fun copyFin(){
//println(“コピー終了”)
}
override fun copyError(msg: String) {
//println(“コピーエラー”)
}
}
[/cc]
のようにインスタンス化して、lisを渡してやればいい。EventLisnerに限ったことではないけど。。