Segue a resolução do exercício proposto.
Classe PrincipalComListas:
package br.com.alura.screenmatch.principal;
import br.com.alura.screenmatch.modelos.Filme;
import br.com.alura.screenmatch.modelos.Serie;
import br.com.alura.screenmatch.modelos.Titulo;
import java.io.Serial;
import java.util.ArrayList;
public class PrincipalComListas {
public static void main(String[] args) {
Filme filme1 = new Filme("O Poderoso Chefão", 1970);
filme1.avalia(9);
Filme filme2 = new Filme("Avatar", 2023);
filme2.avalia(8);
Filme filme3 = new Filme("Dogville", 2003);
filme3.avalia(7);
Serie serie1 = new Serie("Supernatural", 2005);
serie1.avalia(8);
ArrayList<Titulo> lista = new ArrayList<>();
lista.add(filme2);
lista.add(filme3);
lista.add(filme1);
lista.add(serie1);
for (Titulo titulo : lista) {
System.out.println(titulo);
if (titulo instanceof Filme) {
System.out.println("Classificação: " + ((Filme) titulo).getClassificacao());
}
}
}
}
Output:
[Filme: Avatar (2023), diretor: null, duração: 0 minutos]
Classificação: 4
[Filme: Dogville (2003), diretor: null, duração: 0 minutos]
Classificação: 3
[Filme: O Poderoso Chefão (1970), diretor: null, duração: 0 minutos]
Classificação: 4
Nome Título: Supernatural, Ano de Lançamento: 2005, Duração em minutos: 0, Avaliação: 8.0
Process finished with exit code 0