菜鳥公升級記 狀態模式

2021-09-10 21:49:02 字數 505 閱讀 3260

狀態模式

當乙個物件的內在狀態改變時允許改變其行為(不同的狀態對應不同的行為),這個物件看起來像是改變了其類。

class program

}//抽象狀態類,定義乙個介面以封裝與context的乙個特定狀態相關的行為

abstract class state

//具體狀態類,每乙個子類實現乙個與context的乙個狀態相關的行為

class concretestatea : state

}class concretestateb: state

}//維護乙個concretestate子類的例項,這個例項定義當前的狀態

class context

public state state//可讀寫的狀態屬性,用於讀取當前狀態和設定新狀態

set}

public void request()//對請求做處理,並設定下一狀態

}

優點

菜鳥公升級記 介面卡模式

介面卡模式 adapter 將乙個類的介面轉換成客戶希望的另外乙個介面。adapter模式使得原本由於介面不相容而不能一起工作的哪些類可以一起工作。舉例1 部分顯示器是vga的插頭,但是大部分膝上型電腦只有hdmi的插孔,要想膝上型電腦和顯示器一起工作,則必須需要乙個 vga轉hdmi的轉換器 就相...

菜鳥公升級記 C 流程控制語句

乙個應用程式,通常包含了複雜的應用邏輯,要實現這些邏輯,就必須進行流程控制,下面把5種流程控制語句分享給大家。if 語句的語法 if a 0 如果有兩個判斷條件可使用if else 的組合語句 if a 0 else舉例 int a 15 if a 10 else 如果有多個判斷條件,可使用if e...

菜鳥編碼記之 裝飾模式

裝飾模式的作用 動態地對乙個個現有物件新增一些額外的功能,如給遊戲裡主角換上不同的裝備擁有不同的能力,給牆刷上不同的染料就有不同的顏色,就增加功能本身而言,裝飾模式繼承或者生成子類更為靈活 理解 如果通過實現各種介面,來達到新增各種附加功能的目的,問題是 這個類已經存在,重新去改下類的定義,這就違背...