package br.com.gilvaneidemedeiros.modelos;
public class Titulo {
private String nome;
private int anoLancamento;
private boolean incluidoNoPlano;
private double somaDasAvaliacoes;
private int totalDeAvaliacoes;
private int duracaoEmMinutos;
public String getNome() { return nome; }
public int getAnoLancamento() { return anoLancamento; }
public boolean isIncluidoNoPlano() { return incluidoNoPlano; }
public int getDuracaoEmMinutos() { return duracaoEmMinutos; }
public double getSomaDasAvaliacoes() { return somaDasAvaliacoes; }
public int getTotalDeAvaliacoes() { return totalDeAvaliacoes; }
public void setNome(String nome) { this.nome = nome; }
public void setAnoLancamento(int anoLancamento) { this.anoLancamento = anoLancamento; }
public void setIncluidoNoPlano(boolean incluidoNoPlano) { this.incluidoNoPlano = incluidoNoPlano; }
public void setDuracaoEmMinutos(int duracaoEmMinutos) { this.duracaoEmMinutos = duracaoEmMinutos; }
public void exibeFichaTecnica() {
System.out.println("Nome: " + nome);
System.out.println("Ano de lançamento: " + anoLancamento);
System.out.println("Duração em minutos: " + duracaoEmMinutos);
if (incluidoNoPlano == true) {
System.out.println("Incluído no plano: sim");
} else {
System.out.println("Não incluido no plano");
}
}
public void avalia(double nota) {
somaDasAvaliacoes += nota;
totalDeAvaliacoes++;
}
public double pegaMedia() {
return somaDasAvaliacoes / totalDeAvaliacoes;
}
}
package br.com.gilvaneidemedeiros.modelos;
public class Filme extends Titulo {
private String diretor;
public String getDiretor() { return diretor; }
public void setDiretor(String diretor) { this.diretor = diretor; }
}
package br.com.gilvaneidemedeiros.modelos;
public class Serie extends Titulo {
private int temporadas;
private int episodiosPorTemporada;
private boolean ativa;
private int minutosPorEpisodio;
public int getTemporadas() { return temporadas; }
public int getEpisodiosPorTemporada() { return episodiosPorTemporada; }
public boolean isAtiva() { return ativa; }
public int getMinutosPorEpisodio() { return minutosPorEpisodio; }
public void setTemporadas(int temporadas) { this.temporadas = temporadas; }
public void setEpisodiosPorTemporada(int episodiosPorTemporada) { this.episodiosPorTemporada = episodiosPorTemporada; }
public void setAtiva(boolean ativa){ this.ativa = ativa; }
public void setMinutosPorEpisodio(int minutosPorEpisodio) { this.minutosPorEpisodio = minutosPorEpisodio; }
@Override
public int getDuracaoEmMinutos() {
return temporadas * episodiosPorTemporada * minutosPorEpisodio;
}
}
package br.com.gilvaneidemedeiros.calculos;
import br.com.gilvaneidemedeiros.modelos.Titulo;
public class CalculadoraDeTempo {
private int tempoTotal;
public int getTempoTotal() {
return this.tempoTotal;
}
public void inclui(Titulo titulo) {
this.tempoTotal += titulo.getDuracaoEmMinutos();
}
}