国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

輕松掌握Java狀態模式

2019-11-26 13:47:05
字體:
來源:轉載
供稿:網友

定義:在狀態模式(State Pattern)中,類的行為是基于它的狀態改變的。

特點:

1、封裝了轉換規則。

2、枚舉可能的狀態,在枚舉狀態之前需要確定狀態種類。

3、將所有與某個狀態有關的行為放到一個類中,并且可以方便地增加新的狀態,只需要改變對象狀態即可改變對象的行為。

4、允許狀態轉換邏輯與狀態對象合成一體,而不是某一個巨大的條件語句塊。

5、可以讓多個環境對象共享一個狀態對象,從而減少系統中對象的個數。

企業及開發和常用框架中的應用:

實例:

public class Demo { public static void main(String[] args) { Context context = new Context(); State move = new Move(); move.show(context); State stop = new Stop(); stop.show(context); }}class Context{ private State state;  public void setState(State state){ System.out.println("給物體加持狀態"); this.state = state; }}interface State{ void show(Context context);}class Move implements State{ public void show(Context context) { context.setState(this); System.out.println("物體處于運動狀態"); }}class Stop implements State{ public void show(Context context) { context.setState(this); System.out.println("物體處于靜止狀態"); }}

狀態模式是用于對象狀態比較多的情況,比如完成一件事的時候有未完成、已完成、進行中、擱置等狀態,這時候就可以考慮是用狀態模式。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 金门县| 绥阳县| 原阳县| 敦煌市| 托克托县| 阳西县| 新邵县| 阿尔山市| 泰宁县| 大渡口区| 梅河口市| 榆林市| 鄂伦春自治旗| 云安县| 泾源县| 比如县| 喀什市| 云梦县| 宿州市| 中卫市| 顺昌县| 全南县| 孝昌县| 大英县| 台中县| 广饶县| 循化| 交口县| 商南县| 台湾省| 邢台市| 金坛市| 邢台县| 礼泉县| 吉安县| 敖汉旗| 蓬莱市| 大渡口区| 福泉市| 积石山| 洛南县|