//Filme
package br.com.alura.screenmatch.modelos;
public class Filme extends Titulo{
private String diretor;
public String getDiretor() {
return diretor;
}
public void setDiretor(String diretor) {
this.diretor = diretor;
}
}
//Serie
package br.com.alura.screenmatch.modelos;
public class Serie extends Titulo{
private int temporadas;
private boolean ativa;
private int episodiosPorTemporada;
private int minutosPorEpsodios;
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 episodiosPorTemporada;
}
public void setEpisodiosPorTemporada(int episodiosPorTemporada) {
this.episodiosPorTemporada = episodiosPorTemporada;
}
public int getMinutosPorEpsodios() {
return minutosPorEpsodios;
}
public void setMinutosPorEpsodios(int minutosPorEpsodios) {
this.minutosPorEpsodios = minutosPorEpsodios;
}
public boolean isIncluidoNoPlano() {
return super.isIncluidoNoPlano();
}
@Override
public int getDuracaoEmMinutos(){
return temporadas * episodiosPorTemporada*minutosPorEpsodios;
}
}
//Titulo
package br.com.alura.screenmatch.modelos;
public class Titulo {
private String nome;
private int anoDeLancamento;
private boolean incluidoNoPlano;
private double somaDasAvaliacoes;
private int totalDeAvaliacao;
private int duracaoEmMinutos;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public int getAnoDeLancamento() {
return anoDeLancamento;
}
public void setAnoDeLancamento(int anoDeLancamento) {
this.anoDeLancamento = anoDeLancamento;
}
public int getDuracaoEmMinutos() {
return duracaoEmMinutos;
}
public void setDuracaoEmMinutos(int duracaoEmMinutos) {
this.duracaoEmMinutos = duracaoEmMinutos;
}
public boolean isIncluidoNoPlano() {
return incluidoNoPlano;
}
public void setIncluidoNoPlano(boolean incluidoNoPlano) {
this.incluidoNoPlano = incluidoNoPlano;
}
public int getTotalDeAvaliacao() {
return totalDeAvaliacao;
}
public double getSomaDasAvaliacoes() {
return somaDasAvaliacoes;
}
public void exibeFime(){
System.out.println(nome);
System.out.println(anoDeLancamento);
System.out.println(somaDasAvaliacoes);
System.out.println(duracaoEmMinutos);
System.out.println(incluidoNoPlano);
System.out.println(totalDeAvaliacao);
}
public void avalia( double nota){
somaDasAvaliacoes+= nota;
totalDeAvaliacao ++;
}
public double pegaMedia(){
return somaDasAvaliacoes/totalDeAvaliacao;
}
}
//Calculadora
package br.com.alura.screenmatch.calculos;
import br.com.alura.screenmatch.modelos.Filme;
import br.com.alura.screenmatch.modelos.Serie;
import br.com.alura.screenmatch.modelos.Titulo;
public class CalculadoraDeTempo {
private int tempoTotal;
public int getTempoTotal() {
return tempoTotal;
}
public void setTempoTotal(int tempoTotal) {
this.tempoTotal = tempoTotal;
}
public void inclui(Titulo t){
this.tempoTotal += t.getDuracaoEmMinutos();
}
}