Fiz com que mostrasse separadamente o tempo total para ver filmes, séries e os dois somados. Queria saber se ficou ok.
package screenmatch.calculos;
import screenmatch.modelos.Filme;
import screenmatch.modelos.Serie;
import screenmatch.modelos.Titulo;
public class CalculadoraDeTempo {
private int tempoTotalFilme = 0;
private int tempoTotalSerie = 0;
public int getTempoTotalFilme() {
return tempoTotalFilme;
}
public int getTempoTotalSerie() {
return tempoTotalSerie;
}
/*public void incluiFilme(Filme f){
tempoTotalFilme += f.getDuracao();
}
public void incluiSerie(Serie s){
tempoTotalSerie += s.getDuracao();
}*///Com o polimorfismo duplicações no código são evitados.
public void inclui(Titulo titulo) {
if (titulo instanceof Filme) {
this.tempoTotalFilme += titulo.getDuracao();
} else if (titulo instanceof Serie) {
this.tempoTotalSerie += titulo.getDuracao();
}
}//a expressão titulo instanceof Filme verifica se o objeto referenciado pela variável titulo é uma instância da classe Filme, e titulo instanceof Serie verifica se é uma instância da classe Serie.
public int tempoDeTudo(){
return tempoTotalFilme + tempoTotalSerie;
}
}
import screenmatch.calculos.CalculadoraDeTempo;
import screenmatch.modelos.Filme;
import screenmatch.modelos.Serie;
public class Main {
public static void main(String[] args) {
//não cabe o código inteiro então vou deixar só essa parte mesmo, mas está tudo compilando certo
CalculadoraDeTempo calc = new CalculadoraDeTempo();
calc.inclui(meuFilme);
calc.inclui(outroFilme);
System.out.println("Tempo total para assistir todos os filmes: "+calc.getTempoTotalFilme()+" minutos");
calc.inclui(minhaSerie);
calc.inclui(outraSerie);
System.out.println("Tempo total para assistir todas as séries: "+calc.getTempoTotalSerie()+" minutos");
calc.tempoDeTudo();
System.out.println("Tempo total para assistir tudo: "+calc.tempoDeTudo()+" minutos");
}
}