1
resposta

feedback

 package br.com.alura.Screenmatch.modellos;

public class Titulo {
    private String nome;
    private int anoDeLancamento;
    private boolean incluidoNoPlano;
    private double somaDasAvaliacoes;
    private int totalDeAvaliacoes;
    private int duracaoEmMinutos;

public int getTotalDeAvaliacoes(){
    return totalDeAvaliacoes;
}

public String getNome() {
    return nome;
}

public int getAnoDeLancamento() {
    return anoDeLancamento;
}

public boolean isIncluidoNoPlano() {
    return incluidoNoPlano;
}

public int getDuracaoEmMinutos() {
    return duracaoEmMinutos;
}

public void setNome(String nome) {
    this.nome = nome;
}

public void setIncluidoNoPlano(boolean incluidoNoPlano) {
    this.incluidoNoPlano = incluidoNoPlano;
}

public void setAnoDeLancamento(int anoDeLancamento) {
    this.anoDeLancamento = anoDeLancamento;
}

public void setDuracaoEmMinutos(int duracaoEmMinutos) {
    this.duracaoEmMinutos = duracaoEmMinutos;
}

public void exibeFichaTecnica(){
    System.out.println("Nome do filme: " + nome);
    System.out.println("Ano de lançamento: " + anoDeLancamento);
}

public void avalia(double nota){
    somaDasAvaliacoes += nota;
    totalDeAvaliacoes++;
}

public double pegaMedia(){
    return somaDasAvaliacoes / totalDeAvaliacoes;
}

}


package br.com.alura.Screenmatch.modellos;



public class Serie extends Titulo{
    private int temporadas;
    private boolean ativa;
    private int episodiosPorTemporrada;
    private int MinutosPorTemporada;
    private int minutosPorEpisodio;


    public int getTemporadas() {
        return temporadas;
    }

    public void setTemporadas(int temporadas) {
        this.temporadas = temporadas;
    }

    public boolean isAtiva() {
        return ativa;
    }

    public void setAtiva(boolean ativa) {
        this.ativa = ativa;
    }

    public int getEpisodiosPorTemporada() {
        return episodiosPorTemporrada;
    }

    public void setEpisodiosPorTemporada(int episodiosPorTemporada) {
        this.episodiosPorTemporrada = episodiosPorTemporada;
    }

    public int getMinutosPorEpisodio() {
        return minutosPorEpisodio;
    }

    public void setMinutosPorEpisodio(int minutosPorEpisodio) {
        this.minutosPorEpisodio = minutosPorEpisodio;
    }

    @Override //anotacao no momento nao tem muita importancia
    public int getDuracaoEmMinutos() {
        return temporadas * episodiosPorTemporrada * minutosPorEpisodio;
    }
    }


package br.com.alura.Screenmatch.calculos;

import br.com.alura.Screenmatch.modellos.Titulo;

public class CalculadoraDeTempo {
    private int tempoTotal;

    public int getTempoTotal() {
        return this.tempoTotal;
    }


    public void inclui(Titulo titulo){
        System.out.println("Adicionando duração em minutos de " + titulo);
        this.tempoTotal += titulo.getDuracaoEmMinutos();
    }
}
1 resposta

Oi, Everton! Como vai?

Obrigada por compartilhar seu código e seus avanços com a comunidade Alura.

Gostei da forma como aplicou herança e polimorfismo entre Titulo e Serie. A sobrescrita do método getDuracaoEmMinutos() ficou bem implementada, mostrando que você entendeu a ideia de adaptar o comportamento herdado conforme a necessidade.

Continue explorando a orientação a objetos, pois essa base sólida vai te ajudar muito em projetos maiores!

Ícone de sugestão

Para saber mais:

Ao usar herança e polimorfismo, você está aplicando conceitos centrais da orientação a objetos. Esses recursos permitem reutilizar e adaptar comportamentos entre classes. Para entender melhor, confira os links abaixo da documentação oficial da Oracle:

Alura

Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!