委托

package weituo
/*
委托模式是軟件模式設(shè)計(jì)中的一項(xiàng)基本技巧,在委托模式中,
有兩個(gè)對(duì)象參與處理同一個(gè)請(qǐng)求,接受請(qǐng)求的對(duì)象將請(qǐng)求委托
給另一個(gè)對(duì)象來處理
Kotlin直接支持委托模式,更加又要,通過關(guān)鍵字by實(shí)現(xiàn)
*/

//-------------類委托----------
/*
類的委托即一個(gè)類中定義的方法實(shí)際是調(diào)用另一個(gè)類的對(duì)象的方法來實(shí)現(xiàn)的
以下實(shí)例中派生類Derived集成了接口Base所有方法,并且
委托一個(gè)傳入的Base類的對(duì)象來執(zhí)行這些方法
*/

//創(chuàng)建接口
interface Base{
fun print()
}
//實(shí)現(xiàn)此接口的被委托的類
class BaseImpl(val x:Int):Base{
override fun print(){print(x)}
}
//通過關(guān)鍵字by建立委托淚
class Derived(b:Base):Base by b

fun main(args: Array<String>) {
val b=BaseImpl(10)
Derived(b).print()
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 委托模式 委托模式也就是代理模式,它的原理基本如下圖 Subject:抽象主題類 該類的主要職責(zé)是聲明真實(shí)主題與代...
    Rhett_S閱讀 455評(píng)論 2 4
  • 簡述 講到Kotlin中的擴(kuò)展,不得不說代碼的設(shè)計(jì)原則之一:開閉原則,意思是對(duì)擴(kuò)展開放,對(duì)修改關(guān)閉。在程序需要進(jìn)行...
    i校長閱讀 721評(píng)論 0 3
  • 系列文章全部為本人的學(xué)習(xí)筆記,若有任何不妥之處,隨時(shí)歡迎拍磚指正。如果你覺得我的文章對(duì)你有用,歡迎關(guān)注我,我們一起...
    我愛吃栗子啊閱讀 4,436評(píng)論 5 26
  • 1 類委托 Derived 的超類型列表中的 by句表示b 將會(huì)在 Derived 中內(nèi)部存儲(chǔ)。 并且編譯器將成轉(zhuǎn)...
    NiceDream閱讀 1,596評(píng)論 1 3
  • 一. UIScrollView的創(chuàng)建和常用屬性 UIScrollView是UIView的子類,為所有滾動(dòng)視圖的基類...
    CarsonChen閱讀 423評(píng)論 0 0

友情鏈接更多精彩內(nèi)容