import java.util.ArrayList;
class Titulo {
private String nome;
private int anoDeLancamento;
public Titulo(String nome, int anoDeLancamento) {
this.nome = nome;
this.anoDeLancamento = anoDeLancamento;
}
public String getNome() {
return nome;
}
public int getAnoDeLancamento() {
return anoDeLancamento;
}
}
class Filme extends Titulo {
private int duracaoEmMinutos;
public Filme(String nome, int anoDeLancamento, int duracaoEmMinutos) {
super(nome, anoDeLancamento);
this.duracaoEmMinutos = duracaoEmMinutos;
}
public int getDuracaoEmMinutos() {
return duracaoEmMinutos;
}
}
class Serie extends Titulo {
private int temporadas;
public Serie(String nome, int anoDeLancamento, int temporadas) {
super(nome, anoDeLancamento);
this.temporadas = temporadas;
}
public int getTemporadas() {
return temporadas;
}
}
public class Main {
public static void main(String[] args) {
ArrayList<Titulo> listaDeTitulos = new ArrayList<>();
listaDeTitulos.add(new Filme("Matrix", 1999, 136));
listaDeTitulos.add(new Filme("Interestelar", 2014, 169));
listaDeTitulos.add(new Serie("Breaking Bad", 2008, 5));
// foreach + instanceof + casting
for (Titulo titulo : listaDeTitulos) {
if (titulo instanceof Filme) {
Filme filme = (Filme) titulo;
System.out.println("Filme encontrado:");
System.out.println("Nome: " + filme.getNome());
System.out.println("Ano: " + filme.getAnoDeLancamento());
System.out.println("Duração: " + filme.getDuracaoEmMinutos() + " minutos");
System.out.println("_______________"}
}
}
}