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;
}
}