1
resposta

[Dúvida] Modificação na CalculadoraDeTempo

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");


    }
}

1 resposta

Parabéns pela codificação, Nicolas!

O código que você escreveu demonstra um bom entendimento dos conceitos de orientação a objetos. Continue assim, explorando novos desafios e mantendo-se dedicado aos estudos. Você está no caminho certo para alcançar grandes conquistas na área de desenvolvimento de software. Continue avançando!