Interface Classificavel
package br.com.alura.screenmatch.calculos;
public interface Classificavel {
int getClassificacao();
}
Aplicação da Interface nas classes Movie, Serie e Episode; Respectivamente:
MOVIE
package br.com.alura.screenmatch.modelos;
import br.com.alura.screenmatch.calculos.Classificavel;
public class Movie extends Title implements Classificavel {
private String diretor;
public void setDiretor(String diretor) {
this.diretor = diretor;
}
public String getDiretor() {
return diretor;
}
@Override
public int getClassificacao() {
return (int)obtermediaNotas();
}
}
SERIE
package br.com.alura.screenmatch.modelos;
import br.com.alura.screenmatch.calculos.Classificavel;
public class Serie extends Title implements Classificavel {
private int temporadas;
private int episodiosPorTemporada;
private int minutosPorEpisodio;
private boolean ativa;
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;
}
public int getEpisodiosPorTemporada() {
return episodiosPorTemporada;
}
public void setEpisodiosPorTemporada(int episodiosPorTemporada) {
this.episodiosPorTemporada = episodiosPorTemporada;
}
public int getTemporadas() {
return temporadas;
}
public void setTemporadas(int temporadas) {
this.temporadas = temporadas;
}
@Override
public int getTempoDeDuracaoMinutos() {
return temporadas*episodiosPorTemporada*minutosPorEpisodio;
}
@Override
public int getClassificacao() {
return 0;//futuramente eu implemento algo legal
}
}
EPISODE
package br.com.alura.screenmatch.modelos;
import br.com.alura.screenmatch.calculos.Classificavel;
public class Episode extends Serie implements Classificavel {
private String Nome;
private int numero;
private String diretor;
private int totalVisualizacoes;
public int getTotalVizualiacoes() {
return totalVisualizacoes;
}
public void setTotalVizualiacoes(int totalVizualiacoes) {
this.totalVisualizacoes = totalVizualiacoes;
}
public String getNome() {
return Nome;
}
public void setNome(String nome) {
Nome = nome;
}
public int getNumero() {
return numero;
}
public void setNumero(int numero) {
this.numero = numero;
}
public String getDiretor() {
return diretor;
}
public void setDiretor(String diretor) {
this.diretor = diretor;
}
@Override
public int getClassificacao() {
if (totalVisualizacoes > 100) {
return 4;
} else {
return 2;
}
}
}