對(duì)于一個(gè)聲明了多個(gè)方法的接口,我們使用的時(shí)候有時(shí)僅僅關(guān)注于幾個(gè)關(guān)鍵方法,并不需要實(shí)現(xiàn)所有的。可是由于接口調(diào)用的語(yǔ)法限制,使得我們不得不在代碼中也顯示聲明實(shí)現(xiàn)了那些我們不關(guān)心的方法。在Java中也有簡(jiǎn)化接口調(diào)用的方式,比如安卓中ViewPager監(jiān)聽(tīng)頁(yè)面切換時(shí)的接口PageChangeListener,官方提供了簡(jiǎn)單類(lèi): ViewPager.SimpleOnPageChangeListener來(lái)簡(jiǎn)化調(diào)用。

對(duì)于Kotlin來(lái)說(shuō),可以類(lèi)似使用java的方式,來(lái)實(shí)現(xiàn)多函數(shù)接口的簡(jiǎn)化調(diào)用,只是要用到object關(guān)鍵字且代碼仍會(huì)較多。這里,由于Kotlin的語(yǔ)法更為靈活,去實(shí)現(xiàn)這種調(diào)用應(yīng)該有其特色的方式,使得代碼更少,且更加具有張力。
來(lái)個(gè)小例子,先簡(jiǎn)單介紹類(lèi)似java實(shí)現(xiàn)多函數(shù)接口的簡(jiǎn)化調(diào)用,一是展示什么是簡(jiǎn)化接口調(diào)用,二是做對(duì)比。這里得例子都用kotlin寫(xiě)的。
1.聲明接口CallBack 和調(diào)用類(lèi)Worker
interface CallBack {
fun onSuccess(str: String)
fun onFailure(code: Int)
}
class Worker {
var callback: CallBack? = null
fun done(str: String) {
callback?.onSuccess(str)
}
fun fail(code: Int) {
callback?.onFailure(code)
}
fun setCallBack(lis: CallBack) {
callback = lis;
}
}
文章標(biāo)題:Kotlin實(shí)現(xiàn)多函數(shù)接口的簡(jiǎn)化調(diào)用-創(chuàng)新互聯(lián)
本文鏈接:http://www.yijiale78.com/article46/pcseg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、企業(yè)網(wǎng)站制作、做網(wǎng)站、App開(kāi)發(fā)、面包屑導(dǎo)航、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容