package br.com.alura.meuprojeto;
public class Titulo {
private String nome;
private int anoDeLancamento;
private int duracaoEmMinutos;
private boolean incluidoNoPlano;
private double somaDasAvaliacoes;
private int totalAvaliacoes;
private String sinopseDoTitulo;
public void exibeFichaTecnica(){
System.out.println("\n" + nome);
System.out.println(anoDeLancamento);
System.out.println("Duração: " + getDuracaoEmMinutos());
System.out.println(sinopseDoTitulo);
}
public void avalia(double nota){
somaDasAvaliacoes += nota;
totalAvaliacoes ++;
}
public double pegaMedia() {
if (totalAvaliacoes == 0) {
return 0;
}else{
return somaDasAvaliacoes / totalAvaliacoes;
}
}
public void setNome(String nome){
this.nome = nome;
}
public void setAnoDeLancamento(int anoDeLancamento){
this.anoDeLancamento = anoDeLancamento;
}
public void setDuracaoEmMinutos(int duracaoEmMinutos){
this.duracaoEmMinutos = duracaoEmMinutos;
}
public int getDuracaoEmMinutos(){
return duracaoEmMinutos;
}
public void setSinopseDoTitulo(String sinopseDoTitulo){
this.sinopseDoTitulo = sinopseDoTitulo;
}
public void setIncluidoNoPlano(boolean incluidoNoPlano){
this.incluidoNoPlano = incluidoNoPlano;
}
public String getNome(){
return nome;
}
public int getTotalAvaliacoes(){
return totalAvaliacoes;
}
}
package br.com.alura.meuprojeto;
public class Series extends Titulo {
private int temporadas;
private boolean ativa;
private int episodiosPorTemporada;
private int minutosPorEpisodio;
public boolean isAtiva() {
return ativa;
}
public void setAtiva(boolean ativa) {
this.ativa = ativa;
}
public int getEpisodiosPorTemporada() {
return episodiosPorTemporada;
}
public int getMinutosPorEpisodio() {
return minutosPorEpisodio;
}
public void setMinutosPorEpisodio(int minutosPorEpisodio) {
this.minutosPorEpisodio = minutosPorEpisodio;
}
public void setEpisodiosPorTemporada(int episodiosPorTemporada) {
this.episodiosPorTemporada = episodiosPorTemporada;
}
public int getTemporadas() {
return temporadas;
}
public void setTemporadas(int temporadas) {
this.temporadas = temporadas;
}
@Override
public int getDuracaoEmMinutos() {
return temporadas * episodiosPorTemporada * minutosPorEpisodio;
}
}
package br.com.alura.meuprojeto;
public class Filme extends Titulo {
private String diretor;
public void setDiretor(String diretor){
this.diretor = diretor;
}
public String getDiretor(){
return diretor;
}
}
;
public class PedroFlix {
public static void main(String[] args){
Filme filme1 = new Filme();
filme1.setNome("Homem Aranha");
filme1.setAnoDeLancamento(2005);
filme1.setIncluidoNoPlano(true);
filme1.setDuracaoEmMinutos(140);
filme1.setSinopseDoTitulo("""
Após ser picado por uma aranha geneticamente modificada, Peter Parker.
ganha habilidades extraordinárias como força sobre-humana, agilidade e a capacidade de escalar paredes.
""");
filme1.setDiretor("Sam Raimi");
Series serie1 = new Series();
serie1.setNome("Stranger Things");
serie1.setTemporadas(4);
serie1.setEpisodiosPorTemporada(10);
serie1.setMinutosPorEpisodio(60);
serie1.setAtiva(false);
serie1.setAnoDeLancamento(2020);
serie1.setSinopseDoTitulo("""
Will desaparece e acaba sendo dado como desaparecido, seu amigos procuram
resgata-lo mas para isso terão que desvendar eventos sobrenaurais e misteriosos.""");
serie1.avalia(9.8);
serie1.avalia(8.9);
serie1.avalia(9.2);
filme1.avalia(10);
filme1.avalia(9);
filme1.avalia(9.5);
double media = filme1.pegaMedia();
filme1.exibeFichaTecnica();
System.out.println("Diretor: " + filme1.getDiretor());
serie1.exibeFichaTecnica();
System.out.println("Total de Avaliações:"+ filme1.getTotalAvaliacoes());
System.out.println("A média do filme " + filme1.getNome() + " é " + media);
filme1.getDuracaoEmMinutos();
System.out.println("A série " + serie1.getNome() +" tem uma duracão total de " + serie1.getDuracaoEmMinutos()+"m");
}
}