0
我有它們通過屬性的值來定義2個狀態類(如開始,可以是假的真)Java的永久開關
當我打電話從一個實例的方法我想獲得一個不同的行爲取決於狀態。 我目前正在使用if語句來查詢每次調用方法時的狀態,但我認爲可能有更快的方法來做到這一點(類似於多態性可能?)
是否有一種優雅的方式實施這個?我想有兩個子類inherinting和鑄造他們的時候的行爲變化,但也許有更好的東西
下面一個虛擬的例子(我的實際問題是耗費更多的時間,因此需要改進的地方)
public class StateChangingClass {
private boolean started;
public StateChangingClass() {
started = false;
}
public void start(){started = true;}
public void end(){started = false;}
public boolean checkCondition(double time) {
if (started) {
if (time>0) {return true;}
else {return false;}
}
else {return false;}
}
}
你的示例代碼是過於簡單化,你有什麼實際的問題,顯示代碼的問題,也許添加註釋何種操作是昂貴的,你想要的東西不同。 – luk2302
「我認爲可能有更快的方法來做到這一點」我堅信,這將會變得緩慢。 '返回開始&&時間> 0;'很容易評估。 –
我覺得如果不是實際的代碼,但仍然適當模擬實際的代碼會更好。這可以使用三元來解決。 – Mritunjay