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

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

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

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

輕松掌握Java狀態(tài)模式

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

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

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

特點:

1、封裝了轉換規(guī)則。

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

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

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

5、可以讓多個環(huán)境對象共享一個狀態(tài)對象,從而減少系統中對象的個數。

企業(yè)及開發(fā)和常用框架中的應用:

實例:

?
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("給物體加持狀態(tài)");
 this.state = state;
 }
}
 
interface State{
 void show(Context context);
}
 
class Move implements State{
 public void show(Context context) {
 context.setState(this);
 System.out.println("物體處于運動狀態(tài)");
 }
}
 
class Stop implements State{
 public void show(Context context) {
 context.setState(this);
 System.out.println("物體處于靜止狀態(tài)");
 }
}

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本在线亚州精品视频在线 | 无遮18禁在线永久免费观看挡 | 激情三级做爰在线观看激情 | 久久天天综合 | bt天堂午夜国产精品 | 日本三级在线观看免费 | 91精品国产色综合久久 | 欧美性xxx狂流白浆 欧美性f | 脱女学小内内摸出水网站免费 | 日本红怡院亚洲红怡院最新 | 午夜性色一区二区三区不卡视频 | 久久久伊人影院 | 免费国产白棉袜踩踏区域 | 国产精品视频播放 | 91视频www| 卫生间被教官做好爽HH视频 | 色综合久久夜色精品国产 | 大肥婆丰满大肥奶bbw肥 | 范冰冰特黄xx大片 | 7777奇米影视| 亚洲精品永久免费 | 97超pen个人视频公开视频视 | 91国产在线播放 | 邪恶肉肉全彩色无遮琉璃神社 | 痴mu动漫成年动漫在线观看 | 扒开女人屁股眼看个够 | 爽新片xxxxxxx | 国产一卡二卡3卡4卡四卡在线视频 | 色婷婷影院在线视频免费播放 | 国产成人lu在线视频 | 欧美精品超清在线播放 | 99在线免费播放 | 天天插在线视频 | 欧美1区| 成人伊在线影院 | 欧美亚洲一区二区三区在线 | 日本最新伦中文字幕 | 91精品国产高清久久久久 | 青草久久精品亚洲综合专区 | 亚洲福利一区 | 国内精品91东航翘臀女神在线 |