У меня есть класс с 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
«Я думаю, что может быть более быстрый способ сделать это». Я сильно сомневаюсь, что это будет медленным. 'return started && time> 0;' довольно просто оценить. –
Я чувствую, что если бы не настоящий код, но все же правильное моделирование фактического кода было бы лучше. Это можно решить, используя тройную. – Mritunjay