19 行為模式 狀態(State)模式

2021-09-01 10:10:50 字數 461 閱讀 6110

1.用意

狀態模式允許乙個物件在其內部狀態改變的時候改變其行為。這個物件看上去就像是改變了它的類一樣。

2.類圖

3.**

/*

* 環境角色

*/public class context

public void setstate(state state) }/*

* 抽象狀態

*/public inte***ce state

/* * 具體狀態類a

*/public class concretestatea implements state }/*

* 具體狀態類b

*/public class concretestateb implements state }/*

* 測試類

*/public class test

}

(行為型模式)State 狀態模式

狀態模式 當乙個物件的內在狀態改變時允許改變其行為,這個物件看起來像是改變了其類。狀態模式允許乙個物件在其內部狀態改變的時候改變行為。這個物件看上去像是改變了它的類一樣。狀態模式把所研究的物件的行為包裝在不同的狀態物件裡,每乙個狀態物件都屬於乙個抽象狀態類的乙個子類。狀態模式的意圖是讓乙個物件在其內...

行為型模式 8 狀態模式State

在很多情況下我們物件的行為依賴於它的乙個或者多個變化的屬性,這些可變的屬性我們稱之為狀態,也就是說行為依賴狀態,即當該物件因為在外部的互動而導致他的狀態發生變化,從而它的行為也會做出相應的變化。對於這種情況,我們是不能用行為來控制狀態的變化,而應該站在狀態的角度來思考行為,即是什麼狀態就要做出什麼樣...

行為型設計模式之狀態模式(State)

這裡我們用汽車的運動過程來作為乙個示例講解,首先看一段最初始的 public class state 01 public void run public void stop public void opendoor public void closedoor 如上 假設汽車狀態切換 門關閉狀態 門開...