package br.com.alura.screenmatch.modelos;
public class Titulo {
private String nome;
private int anoDeLancamento;
private boolean incluidoNoPlano;
private double somaDasAvaliacoes;
private int totalAvaliacoes;
private int duracaoEmMinutos;
public int getTotalAvaliacoes(){
return totalAvaliacoes;
}
public String getNome() {
return nome;
}
public int getAnoDeLancamento() {
return anoDeLancamento;
}
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 setSomaDasAvaliacoes(double somaDasAvaliacoes) {
this.somaDasAvaliacoes = somaDasAvaliacoes;
}
public void exibeFichaTecnica(){
System.out.println("Nome: " + nome + "\n" + "Ano de lançamento: " + anoDeLancamento +
"\n" + "Avaliação: " + somaDasAvaliacoes);
}
public void avalia(double nota){
somaDasAvaliacoes += nota;
totalAvaliacoes++;
}
public double pegaMedia(){
return somaDasAvaliacoes / totalAvaliacoes ;
}
}
package br.com.alura.screenmatch.modelos;
public class Serie extends Titulo{
private int temporadas;
private int episodiosTemporada;
private boolean ativa;
private int minutosPorEpisodio;
public int getTemporadas() {
return temporadas;
}
public void setTemporadas(int temporadas) {
this.temporadas = temporadas;
}
public int getEpisodiosTemporada() {
return episodiosTemporada;
}
public void setEpisodiosTemporada(int episodiosTemporada) {
this.episodiosTemporada = episodiosTemporada;
}
public boolean isAtiva() {
return ativa;
}
public void setAtiva(boolean ativa) {
this.ativa = ativa;
}
public int getMinutosPorEpisodio() {
return minutosPorEpisodio;
}
public void setMinutosPorEpisodio(int minutosPorEpisodio) {
this.minutosPorEpisodio = minutosPorEpisodio;
}
@Override
public int getDuracaoEmMinutos() {
return temporadas * episodiosTemporada * minutosPorEpisodio;
}
}
package br.com.alura.screenmatch.calculos;
import br.com.alura.screenmatch.modelos.Titulo;
public class CalculadoraDeTempo {
private int tempoTotal;
public int getTempoTotal() {
return tempoTotal;
}
// public void inclui(Filme f){
// tempoTotal += f.getDuracaoEmMinutos();
// }
//
// public void inclui(Serie s){
// tempoTotal += s.getDuracaoEmMinutos();
// }
public void inclui(Titulo titulo){
tempoTotal += titulo.getDuracaoEmMinutos();
}
}