kotlin 簡(jiǎn)單工廠(chǎng)實(shí)現(xiàn)

1) 創(chuàng)建名稱(chēng)為 Api 的接口

interface Api {
    fun opreator()
}
  1. 創(chuàng)建幾個(gè)實(shí)現(xiàn)Api接口的類(lèi)
class ImpA :Api{
    override fun opreator() {
        System.out.println("我是ImpA")
    }
}



class ImpB:Api {
    override fun opreator() {
        System.out.print("我是ImpB")
    }
}
  1. 創(chuàng)建工廠(chǎng)
object Factory {
    
    /**
     * 選擇生成那個(gè)類(lèi)
     * @param which 控制生成的類(lèi)
     */
    fun getApi(which:Int):Api{
        var api:Api
        when(which){
            1->{ api = ImpA()}
            2->{ api = ImpB()}
            else ->{ api = ImpC() }
        }
        return api
    }
    /**
     * 選擇生成那個(gè)類(lèi)
     * @param java  
     */
    fun <T:Api> apiProduct(java: Class<T>): T {

        var api:Api = java.newInstance()

        return api as T
    }
}

  1. 測(cè)試用例
class ExampleUnitTest {
    @Test
    fun  apiFactoryTest(){
        val api = Factory.getApi(1)
        api.opreator()

        val api2 = Factory.apiProduct(ImpB::class.java)
        api2.opreator()

        val api3 = Factory.apiProduct(ImpC::class.java)
        api3.opreator()
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末薇芝,一起剝皮案震驚了整個(gè)濱河市蓬抄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌夯到,老刑警劉巖嚷缭,帶你破解...
    沈念sama閱讀 222,627評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異耍贾,居然都是意外死亡阅爽,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)荐开,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)付翁,“玉大人,你說(shuō)我怎么就攤上這事晃听“俨啵” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,346評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵能扒,是天一觀(guān)的道長(zhǎng)佣渴。 經(jīng)常有香客問(wèn)我,道長(zhǎng)赫粥,這世上最難降的妖魔是什么观话? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,097評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮越平,結(jié)果婚禮上频蛔,老公的妹妹穿的比我還像新娘灵迫。我一直安慰自己,他們只是感情好晦溪,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,100評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布瀑粥。 她就那樣靜靜地躺著,像睡著了一般三圆。 火紅的嫁衣襯著肌膚如雪狞换。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,696評(píng)論 1 312
  • 那天舟肉,我揣著相機(jī)與錄音修噪,去河邊找鬼。 笑死路媚,一個(gè)胖子當(dāng)著我的面吹牛黄琼,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播整慎,決...
    沈念sama閱讀 41,165評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼脏款,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了裤园?” 一聲冷哼從身側(cè)響起撤师,我...
    開(kāi)封第一講書(shū)人閱讀 40,108評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎拧揽,沒(méi)想到半個(gè)月后剃盾,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,646評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡强法,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,709評(píng)論 3 342
  • 正文 我和宋清朗相戀三年万俗,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片饮怯。...
    茶點(diǎn)故事閱讀 40,861評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡闰歪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蓖墅,到底是詐尸還是另有隱情库倘,我是刑警寧澤,帶...
    沈念sama閱讀 36,527評(píng)論 5 351
  • 正文 年R本政府宣布论矾,位于F島的核電站教翩,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏贪壳。R本人自食惡果不足惜饱亿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,196評(píng)論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧彪笼,春花似錦钻注、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,698評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至泵肄,卻和暖如春捆交,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背腐巢。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,804評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工品追, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人冯丙。 一個(gè)月前我還...
    沈念sama閱讀 49,287評(píng)論 3 379
  • 正文 我出身青樓诵盼,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親银还。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,860評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理洁墙,服務(wù)發(fā)現(xiàn)蛹疯,斷路器,智...
    卡卡羅2017閱讀 134,716評(píng)論 18 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法热监,類(lèi)相關(guān)的語(yǔ)法捺弦,內(nèi)部類(lèi)的語(yǔ)法,繼承相關(guān)的語(yǔ)法孝扛,異常的語(yǔ)法列吼,線(xiàn)程的語(yǔ)...
    子非魚(yú)_t_閱讀 31,665評(píng)論 18 399
  • Scala與Java的關(guān)系 Scala與Java的關(guān)系是非常緊密的!苦始! 因?yàn)镾cala是基于Java虛擬機(jī)寞钥,也就是...
    燈火gg閱讀 3,454評(píng)論 1 24
  • 每晚在記錄你的成長(zhǎng)點(diǎn)滴前,都要先瀏覽一下【簡(jiǎn)書(shū)】首頁(yè)推送的優(yōu)秀文章陌选。 最近理郑,無(wú)意中看到了幾位和我一樣,每天寫(xiě)親子日...
    素面迎風(fēng)閱讀 79評(píng)論 0 0
  • 很多時(shí)候引起的原因是在jsp頁(yè)面中沒(méi)有指定編碼,在jsp頁(yè)面最上面加上如下: 有時(shí)也可能是response返回的編碼問(wèn)題
    else05閱讀 119評(píng)論 0 0