Cachorro Cavalo Preguica
Possui Nome Possui Nome Possui Nome
Possui Idade Possui Idade Possui Idade
Deve emitir som Deve emitir som Deve emitir som
Deve correr Deve correr Deve subir em árvores
Crie uma classe Zoologico, com 10 jaulas (utilize um array) coloque em cada
jaula um animal diferente, percorra cada jaula e emita o som e, se o tipo de
animal possuir o comportamento, faça-o correr
public abstract class Animal {
private String nome;
private int idade;
public String emitirSom(){
return " som de animal ";
}
public class Cachorro extends Animal {
public String correr(){
return "Cachorro esta correndo";
}
public String emitirSom(){
return "Som de cachorro";
}
public class Cavalo extends Animal {
public String correr(){
return "Cavalo correndo";
}
public String emitirSom(){
return "Som de cavalo";
}
public class Jaula {
private ArrayList animais = new ArrayList();
public void adicionaAnimal(Animal animal){
if (animais.contains(animal)){
System.out.println("Impossivel add... pois ja se encontra na jaula");
}else if (animais.size() <1) {
animais.add(animal);
}
}
public ArrayList<Animal> getAnimais() {
return animais;
}
public void setAnimais(ArrayList<Animal> animais) {
this.animais = animais;
}
public class Zoologico {
private ArrayList jaulas = new ArrayList();
public void adicionaJaula(Jaula jaula){
if (jaulas.contains(jaula)){
System.out.println("Impossivel adicionar.. ela ja faz parte");
}else {
jaulas.add(jaula);
}
}
public void percorrreJaula(){
for (int i=0; i<jaulas.size(); i++){
for (int j=0; j<jaulas.get(i).getAnimais().size(); j++){
System.out.println(jaulas.get(i).getAnimais().get(j).emitirSom());
if (jaulas.get(i).getAnimais().get(j) instanceof Cachorro){
Cachorro cachorro = new Cachorro();
System.out.println(cachorro.correr());
}else if (jaulas.get(i).getAnimais().get(j) instanceof Cavalo){
Cavalo cavalo = new Cavalo();
System.out.println(cavalo.correr());
}
}
}
}
minha duvida maior esta na ultima parte onde eu teria caso o animal corra…emitir a mensagem de correr… pois nao consigo acessar o metodo correr pelo objeto animal.