Ad esempio, se ho due classi "Director" e "Follower". Voglio che il regista dica al follower dove andare (es: follower1.go(direction.LEFT)
), e voglio che il regista sappia quali direzioni può dire al follower di andare quando codifica in un IDE che fornisce suggerimenti di completamento.
So che posso già fare:
public void go(String direction);
o
public void goLeft();
public void goRight();
public void goUp();
public void goDown();
Ma il primo non mi darà opzioni in un IDE (o almeno, non so come mostrare le opzioni), e il secondo potrebbe essere difficile da mantenere per una funzione meno banale. Idealmente, mi piacerebbe qualcosa del tipo,
public enum Direction{LEFT, RIGHT, UP, DOWN};
public void go(Direction direction);
Ma ovviamente, questo non funziona (almeno in Java, e Direction fa parte della classe Follower). C'è un modo per utilizzare le enumerazioni (o qualsiasi altro modo) per ottenere qualcosa come il 3 ° effetto, dove posso sia limitare i parametri di una funzione, sia renderla facilmente visibile in un IDE che fornisce suggerimenti di completamento?