一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - 輕松掌握Java狀態模式

輕松掌握Java狀態模式

2020-06-18 11:39斷了聯系 JAVA教程

這篇文章主要幫助大家輕松掌握Java狀態模式,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

特點:

1、封裝了轉換規則。

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

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

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

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

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

實例:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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("物體處于靜止狀態");
 }
}

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 免费看一区二区三区 | 999久久久 | 国产成人精品视频午夜 | 精品久久久久久久久免费影院 | 色老太bbbbb 色老妇 | 青草视频免费观看 | 国产亚洲精品一区久久 | 成人福利影院 | 波多野结衣久久国产精品 | 午夜国产理论 | 国产美女亚洲精品久久久综合 | 国产亚洲玖玖玖在线观看 | 91嫩草私人成人亚洲影院 | 免费看男人狂躁女人 | 四虎精品成人免费影视 | 天码毛片一区二区三区入口 | 调教女警花穿环上班 | 91精品免费国产高清在线 | 免费一级欧美片在线观看 | 国产精品高清一区二区三区 | 日本爽p大片免费观看 | 国产在线观看网站 | 爆操萝莉 | 草莓秋葵菠萝蜜绿巨人污 | 国产成人福利免费视频 | 日韩美一区二区三区 | 饭冈加奈子在线播放观看 | 99视频在线观看视频一区 | 插得好舒服| 俺去俺来也在线www色官网 | 妇乱子伦激情 | 国产欧美又粗又猛又爽老 | 四虎海外影院 | 黑人好大好硬好深好爽想要h | 放荡警察巨r麻麻出轨小说 范冰冰特黄xx大片 饭冈加奈子在线播放观看 法国老妇性xx在线播放 | 天天干夜夜添 | 欧美极品摘花过程 | 污污的动态图合集 | 青青操在线播放 | 午夜想想爱午夜剧场 | 国产精品高清一区二区三区 |