1
resposta

Duvida sobre classe CalculadoraDeTempo

No metodo:

public void inclui(Titulo titulo){
        this.tempoTotal += titulo.getDuracaoEmMinutos();
    }

Eu não entendi a questão do titulo, ele herda a classe Titulo, mas como se referencia a classe serie e filme, já que na classe titulo eles não se referenciam?

1 resposta

Oi, Caique! Tudo bem?

No método inclui(Titulo titulo), a referência titulo pode ser tanto um objeto da classe Filme quanto da classe Serie, pois ambas as classes Filme e Serie são subclasses da classe Titulo, ou seja, elas herdam de Titulo. Isso é o que chamamos de polimorfismo, que é a capacidade de um objeto poder ser referenciado de várias formas.

No caso do nosso código, quando chamamos titulo.getDuracaoEmMinutos(), o Java vai verificar em tempo de execução se o objeto referenciado é da classe Filme ou Serie e vai chamar o método getDuracaoEmMinutos() da classe correspondente.

Por exemplo, se temos um objeto da classe Filme e o passamos para o método inclui(Titulo titulo), a chamada titulo.getDuracaoEmMinutos() vai executar o método getDuracaoEmMinutos() da classe Filme. O mesmo acontece se passarmos um objeto da classe Serie, a chamada titulo.getDuracaoEmMinutos() vai executar o método getDuracaoEmMinutos() da classe Serie.

Espero ter ajudado! Caso tenha ficado alguma dúvida, sinta-se à vontade em comunicar, estou à disposição!

Um forte abraço e bons estudos!

Caso este post tenha te ajudado, por favor, marcar como solucionado ✓