Estou aprendendo Java e estou com duvida na iteração, a minha situação é a seguinte:
Tenho uma classe abstrata CorpoCeleste e ela contém um método descrever, além dela eu tenho classes especificas como Cometa e Estrela que também tem o método herdado com mais informações.
Depois de encapsular e ter feito os métodos para cada um o meu programa principal deve “instanciar um conjunto de corpos celestes de todos os tipos especializados e fazer uma iteração neste conjunto (array ou coleção) para imprimir as características de cada instância de corpo celeste.”
Na minha classe Main eu mostrei as características usando o nome com o “.descrever()”, mas queria uma luz de como fazer isso da maneira certa usando a iteração e array, alguém pode me dar uma dica?
Código main:
public class Main {
public static void main(String[] args) {
CorpoCeleste Astro1 = new Cometa();
Astro1.descrever();
CorpoCeleste Astro2 = new Estrela();
Astro2.descrever();
CorpoCeleste Astro3 = new Planeta();
Astro3.descrever();
}
}
Casse abstrata:
public abstract class CorpoCeleste{
protected String Nome;
protected CorpoCeleste(){
Nome = "Sem nome ainda";
}
protected CorpoCeleste(String nome){
Nome = nome;
}
public String getNome(){
return Nome;
}
public void descrever(){
System.out.println("Astro: " + Nome);
}
}
Classe especifica do Cometa:
public class Cometa extends CorpoCeleste{
public int Massa;
public int Vel;
public Cometa(){
super();
}
public Cometa(String Nome){
super(Nome);
}
public int getMassa(){
return Massa;
}
public void setMassa(int Massa){
this.Massa = Massa;
}
public int getVel(){
return Vel;
}
public void setVel(int Vel) {
this.Vel = Vel;
}
@Override
public void descrever() {
super.descrever();
System.out.println("Tipo: Cometa");
System.out.println("Massa: " + Massa);
System.out.println("Velocidade: " + Vel);
}
}
