1
resposta

Interfaces: Aula 4

Referente a implementação de interfaces na aula 04, é realizado a implementação na classe "Episódio" e assim na aba "Principal" o código é executado calculando o total de visualizações do episódio.

Nesse caso, se eu não tivesse uma classe episódio (apenas filme e série), eu poderia implementar a interface de "getClassificacao" na superclasse "Titulo"? Adicionando o método de classificar por meio do "totalVisualizacoes" dentro da classe mãe, assim todos os títulos podem chamar o método para calcular o total de visualizações e retornar uma classificação.

Outra dúvida, se for válido fazer da forma acima, caso eu queira que todo título precisa de 100 visualizações para ser classificado como favorito do público, eu poderia realizar um override em "Serie" para que nessa situação, é necessário acima de 300 visualizações, por exemplo?

E por fim, quando foi implementado a interface em "Episódios" e a IDE adicionou automaticamente os métodos, foi incluido override acima. Porque isso ocorre se não há um elemento sendo sobreposto?

Não sei se ficou claro, mas agradeço a ajuda desde já!

Att,

Isabela.

1 resposta

Boa noite!

1ª dúvida: Sim, você poderia implementar a interface de "getClassificacao" na superclasse "Titulo" e herdar esse método nas subclasses, mas no caso você teria que implementar 2 interfaces:

public class Titulo implements Comparable<Titulo>, Classificavel {
.
.
.
@Override
    public int getClassificacao() {
        System.out.println(getNome());
        return (int) calculaMedia() / 2;
    }
    }

2ª dúvida: Sim, desde que Serie implemente a interface Classificavel, vc poderá fazer o @Override nela, e ainda dentro desse @Override se você quiser reaproveitar e herdar o método getClassificacao() de Titulo, poderá fazer sim.

3ª dúvida: A IDE insere o método da interface que a classe implementa pra facilitar nosso trabalho, porque de qualquer jeito, teríamos que implementar ele obrigatoriamente, já que, quando uma classe implementa uma interface, ela é obrigada a escrever o método dela.