Итак, у меня есть несколько разных реализаций State (StateImplementation и OtherStateImplementation)
И мне нужно вернуть новую реализацию, если произойдет определенное событие.Метод может возвращать количество N различных реализаций.
public class State() {
// Contains various methods
}
public class StateImplementation extends State {
public State onEvent(String event){
if(event.equals("foo")){
return new OtherStateImplementation();
} else {
return this;
}
}
}
public class OtherStateImplementation extends State {
// Second implementation
}
Как бы я поступил так, поскольку типы не соответствуют типу возврата, если я сделаю это так.