這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)怎么在java項目中使用State狀態(tài)模式,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
專注于為中小企業(yè)提供做網(wǎng)站、成都網(wǎng)站建設(shè)服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)南和免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
java 之State狀態(tài)模式
在狀態(tài)模式中,一個類的行為基于它的狀態(tài)的改變而改變。狀態(tài)模式歸屬于行為型模式。
在下面的實例中,我們創(chuàng)建了一個接口State,定義了一個操作方法,兩個實現(xiàn)類StartState和StopState。另外,創(chuàng)建了一個上下文類Context,這個類關(guān)聯(lián)到State類。UML類圖如下所示:
//狀態(tài)類 public interface State { public void doAction(Context context); } //實現(xiàn)類StartState.java public class StartState implements State { public void doAction(Context context) { System.out.println("Player is in start state"); context.setState(this); } public String toString(){ return "Start State"; } } //實現(xiàn)StopState.java public class StopState implements State { public void doAction(Context context) { System.out.println("Player is in stop state"); context.setState(this); } public String toString(){ return "Stop State"; } } //上下文Context.java 實際運用時可自行更改 public class Context { private State state; public Context(){ state = null; } public void setState(State state){ this.state = state; } public State getState(){ return state; } } //測試類 public class StatePatternDemo { public static void main(String[] args) { Context context = new Context(); StartState startState = new StartState(); startState.doAction(context); System.out.println(context.getState().toString()); StopState stopState = new StopState(); stopState.doAction(context); System.out.println(context.getState().toString()); } }
輸出結(jié)果
Player is in start state Start State Player is in stop state Stop State
上述就是小編為大家分享的怎么在java項目中使用State狀態(tài)模式了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。