import java.util.ArrayList;
public class Animal {
private String nome;
private String som;
public Animal(String nome, String som){
this.setNome(nome);
this.setSom(som);
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getSom() {
return som;
}
public void setSom(String som) {
this.som = som;
}
@Override
public String toString() {
return "Nome: " + getNome() + "\nSom: " + getSom();
}
}
public class Cachorro extends Animal{
boolean abanarRabo;
public Cachorro(String nome, String som) {
super(nome, som);
}
}
import java.util.ArrayList;
public class Principal {
public static void main(String[] args) {
Animal vaca = new Animal("Vaca", "Muu!");
Animal gato = new Animal("Gato", "Miau!");
Cachorro doberman = new Cachorro("Doberman", "woof");
Cachorro poodle = new Cachorro("Poodle", "Au! Au!");
ArrayList<Animal> list = new ArrayList<>();
list.add(vaca);
list.add(gato);
list.add(doberman);
list.add(poodle);
for (Animal algo : list){
if (algo instanceof Cachorro){
Cachorro cachorro = (Cachorro) algo;
System.out.println("\nCachorro:\n" + cachorro);
}else {
System.out.println("\n" + algo);
}
}
// Forma mais eficiente:
// for (Animal algo : list){
// if (algo instanceof Cachorro cachorro){
// System.out.println("\nCachorro:\n" + cachorro);
// }else {
// System.out.println("\n" + algo);
// }
// }
}
}