Agora é com você! Faça o mesmo procedimento que eu fiz na aula, aplicando os conceitos de herança e polimorfismo, criando para isso as classes Titulo, Serie e CalculadoraDeTempo.
import java.util.Scanner;
public class Titulo {
private String nome;
private int anoDeLancamento;
private int totalDeAvaliacoes;
private int duracaoEmMinutos;
private double somaDasAvaliacoes;
private boolean incluidoNoPlano;
Scanner sc = new Scanner(System.in);
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 getTotalDeAvaliacoes() {
return totalDeAvaliacoes;
}
public void setTotalDeAvaliacoes(int totalDeAvaliacoes) {
this.totalDeAvaliacoes = totalDeAvaliacoes;
}
public int getDuracaoEmMinutos() {
return duracaoEmMinutos;
}
public void setDuracaoEmMinutos(int duracaoEmMinutos) {
this.duracaoEmMinutos = duracaoEmMinutos;
}
public double getSomaDasAvaliacoes() {
return somaDasAvaliacoes;
}
public void setSomaDasAvaliacoes(double somaDasAvaliacoes) {
this.somaDasAvaliacoes = somaDasAvaliacoes;
}
public boolean isIncluidoNoPlano() {
return incluidoNoPlano;
}
public void setIncluidoNoPlano(boolean incluidoNoPlano) {
this.incluidoNoPlano = incluidoNoPlano;
}
public void cadastrarFichaTecnica() {
System.out.println("===== ENTRADA DADOS =====");
System.out.println("Nome do Filme: ");
this.nome = sc.nextLine();
System.out.println("Insira o ano do lancamento: ");
this.anoDeLancamento = sc.nextInt();
System.out.println("Insira a duração em minutos: ");
this.duracaoEmMinutos = sc.nextInt();
}
public void exibirFichaTecnica() {
System.out.println("===== SAIDA DADOS =====");
System.out.println("Nome do filme: " + this.getNome());
System.out.println("Ano de Lançamento: " + this.getAnoDeLancamento());
System.out.println("Duração do filme: " + this.getDuracaoEmMinutos() + " minutos");
}
public void avalia(double nota) {
somaDasAvaliacoes = somaDasAvaliacoes + nota;
totalDeAvaliacoes++;
}
public double pegaMedia() {
return somaDasAvaliacoes / totalDeAvaliacoes;
}
}
public class Serie extends Titulo {
private String nomeSerie;
private int temporadas;
private int episodiosPorTemporadas;
private boolean ativa;
private int minutosPorEpisodio;
int result = 0;
public int getTemporadas() {
return temporadas;
}
public void setTemporadas(int temporadas) {
this.temporadas = temporadas;
}
public int getEpisodiosPorTemporadas() {
return episodiosPorTemporadas;
}
public void setEpisodiosPorTemporadas(int episodiosPorTemporadas) {
this.episodiosPorTemporadas = episodiosPorTemporadas;
}
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 getDuracaoEmMinutos() {
return temporadas * episodiosPorTemporadas * minutosPorEpisodio;
}
public void cadastrarFichaTecnicaSerie() {
System.out.println("===== ENTRADA DADOS =====");
System.out.println("Nome da Série: ");
setNome(this.nomeSerie = sc.nextLine());
System.out.println("Insira o ano do lancamento: ");
this.setAnoDeLancamento(sc.nextInt());
System.out.println("Duração em minutos: ");
this.minutosPorEpisodio = sc.nextInt();
System.out.println("Quantidade de temporadas: ");
this.temporadas = sc.nextInt();
System.out.println("Quantidade de episódios por temporada: ");
this.episodiosPorTemporadas = sc.nextInt();
}
public void exibirFichaTecnicaSerie() {
System.out.println("===== SAIDA DADOS =====");
System.out.println("Nome da série: " + this.nomeSerie);
System.out.println("Ano de série: " + this.getAnoDeLancamento());
System.out.println("Duração em minutos por episódio: " + this.minutosPorEpisodio + " minutos");
System.out.println("Quantidade de temporadas por série: " + this.episodiosPorTemporadas);
System.out.println("Tempo total todos os episódios da série: " + getDuracaoEmMinutos());
}
}
public class CalculadoraDeTempo {
private int tempoTotal = 0;
public int getTempoTotal() {
return this.tempoTotal;
}
public void adiciona(Titulo titulo) {
this.tempoTotal += titulo.getDuracaoEmMinutos();
}
}