Buongiorno a tutti, dato il seguente schema di classi mi servirebbe sapere (a livello di codice) come poter differenziare la chiamata di "createHabitat()" della classe "TropicalHabitat", da quella della classe "ArticHabitat".
public class ZooManagement{
public Habitat newAnimalArrives(String id){
private HabitatFactory habitat;ù
if(id=="penguin")
return habitat.createHabitat(id); //come faccio a dirgli quello di ArticHabitat??
if(id=="sloth")
return habitat.createHabitat(id); //come faccio a dirgli quello di TropicalHabitat??
}
}
Public abstract class HabitatFactory{
public abstract Habitat createHabitat(String id);
}
public class TropicalFactory extends HabitatFactory{
public Habitat createHabitat(String id){}
}
public class ArticalFactory extends HabitatFactory{
public Habitat createHabitat(String){}
}
Nel codice non so proprio in base a che id di animale si inserisce come chiamare il metodo di ArticHabitat o TropicalHabitat.
Spero il mio problema sia chiaro e grazie in anticipo per l'aiuto!