Classe Titulo.java java Copiar Editar public class Titulo { private String nome; private int ano; private int duracao; // em minutos
public Titulo(String nome, int ano, int duracao) {
this.nome = nome;
this.ano = ano;
this.duracao = duracao;
}
public int getDuracao() {
return duracao;
}
public String getNome() {
return nome;
}
public String toString() {
return nome + " (" + ano + ") - " + duracao + " min";
}
} Classe Serie.java java Copiar Editar public class Serie extends Titulo { private int temporadas; private int episodiosPorTemporada; private int duracaoPorEpisodio;
public Serie(String nome, int ano, int temporadas, int episodiosPorTemporada, int duracaoPorEpisodio) {
super(nome, ano, 0); // A duração será calculada
this.temporadas = temporadas;
this.episodiosPorTemporada = episodiosPorTemporada;
this.duracaoPorEpisodio = duracaoPorEpisodio;
}
@Override
public int getDuracao() {
return temporadas * episodiosPorTemporada * duracaoPorEpisodio;
}
@Override
public String toString() {
return getNome() + " - Série com " + temporadas + " temporadas";
}
} Classe CalculadoraDeTempo.java java Copiar Editar public class CalculadoraDeTempo { private int tempoTotal = 0;
public void inclui(Titulo titulo) {
System.out.println("Adicionando: " + titulo);
tempoTotal += titulo.getDuracao(); // Polimorfismo em ação
}
public int getTempoTotal() {
return tempoTotal;
}
} Classe Main.java java Copiar Editar public class Main { public static void main(String[] args) { Titulo filme = new Titulo("A Origem", 2010, 148); Serie serie = new Serie("Stranger Things", 2016, 4, 8, 50);
CalculadoraDeTempo calc = new CalculadoraDeTempo();
calc.inclui(filme);
calc.inclui(serie);
System.out.println("\nTempo total assistido: " + calc.getTempoTotal() + " minutos");
}
}