kotlin裝飾者模式

/**
*裝飾者模式
*/
abstract class Room {

abstract fun fitment()

}

class NewRoom : Room() {

override fun fitment() {

println("這是一間新房:裝上電")

}

}


abstract class RoomDecorator(room: Room) : Room() {

private val mRoom = room

override fun fitment() {

mRoom.fitment()

}

}

class Bedroom(room: Room) : RoomDecorator(room) {

override fun fitment() {

super.fitment()

addBedding()

}

private fun addBedding() {

println("裝修成臥室:添加臥具")

}

}

class Kitchen(room: Room) : RoomDecorator(room) {

override fun fitment() {

super.fitment()

addKitchenware()

}

private fun addKitchenware() {

println("裝修成廚房:添加廚具")

}

}

fun main(args: Array) {

val newRoom: Room = NewRoom();//有一間新房間

    val bedroom: RoomDecorator = Bedroom(newRoom);

bedroom.fitment();//裝修成臥室

    val kitchen: RoomDecorator = Kitchen(newRoom);

kitchen.fitment();//裝修成廚房

}
最后編輯于
?著作權(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),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 作者已經(jīng)搬遷去隔壁網(wǎng)站,也歡迎大家關(guān)注我們的寫(xiě)作團(tuán)隊(duì):天星技術(shù)團(tuán)隊(duì)。 閑聊 最近一直不在狀態(tài),月初就被博客質(zhì)量的事...
    點(diǎn)先生在這閱讀 810評(píng)論 0 1
  • 1. 裝飾者模式 舉個(gè)栗子,假如在一家飲料店中有兩種飲料,分別是奶茶和咖啡,相對(duì)的有三種調(diào)料,蜂蜜、塊糖和摩卡,這...
    靜水流深ylyang閱讀 482評(píng)論 0 2
  • 定義:裝飾者模式指的是在不必改變?cè)愇募褪褂美^承的情況下,動(dòng)態(tài)地?cái)U(kuò)展一個(gè)對(duì)象的功能。他是通過(guò)創(chuàng)建一個(gè)包裝對(duì)象,也...
    zhanghanga閱讀 475評(píng)論 0 1
  • 人的健康最重要是心理健康。憂慮,算計(jì),苦悶,驚恐,擔(dān)心,牽掛,偏愛(ài),怨恨,仇視,貪婪。。。。都是心理不健康的范疇。...
    雁閣秋容閱讀 317評(píng)論 0 6
  • 微醺 剛剛好 不多也不少 三五好友齊聚 聊天小酌幾口 孩子在客廳奔跑 燒幾個(gè)豆腐 天南地北的聊 陪伴是最長(zhǎng)情的友誼...
    薄翼蟬莎閱讀 282評(píng)論 0 3

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