Audio:
package br.alura.desafio.modelo;
public class Audio {
private String titulo;
private int totalReproducao;
private int curtidas;
private int classificacao;
public String getTitulo() {
return titulo;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
public int getCurtidas() {
return curtidas;
}
public int getTotalReproducao() {
return totalReproducao;
}
public int getClassificacao() {
return classificacao;
}
public void curtir(){
this.curtidas++;
}
public void reproduz(){
this.totalReproducao++;
}
}
Podcast:
package br.alura.desafio.modelo;
public class Podcast extends Audio {
private String host;
private String descricao;
public String getHost() {
return host;
}
public void setHost(String host) {
this.host = host;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
@Override
public int getClassificacao() {
if (this.getCurtidas() >= 500){
return 10;
} else if (this.getCurtidas() <= 250) {
return 8;
} else {
return 6;
}
}
}
Musica:
package br.alura.desafio.modelo;
public class Musica extends Audio {
private String album;
private String cantor;
private String genero;
public String getAlbum() {
return album;
}
public void setAlbum(String album) {
this.album = album;
}
public String getCantor() {
return cantor;
}
public void setCantor(String cantor) {
this.cantor = cantor;
}
public String getGenero() {
return genero;
}
public void setGenero(String genero) {
this.genero = genero;
}
@Override
public int getClassificacao() {
if (getTotalReproducao() > 500){
return 10;
} else if (getTotalReproducao() <= 250) {
return 8;
} else {
return 6;
}
}
}
MinhasPreferidas:
package br.alura.desafio.modelo;
public class MinhasPreferidas {
public void inclui (Audio audio){
if (audio.getClassificacao() > 8){
System.out.println(audio.getTitulo() + " é considerado um sucesso absoluto!");
} else if (audio.getClassificacao() <=7) {
System.out.println(audio.getTitulo() + " esta em alta, porem há melhores!");
} else {
System.out.println(audio.getTitulo() + " complicado essa ai meu chapa!");
}
}
}
Principal:
package br.alura.desafio.principal;
import br.alura.desafio.modelo.MinhasPreferidas;
import br.alura.desafio.modelo.Musica;
import br.alura.desafio.modelo.Podcast;
public class Principal {
public static void main(String[] args) {
Musica minhaMusica = new Musica();
minhaMusica.setCantor("Matuê");
minhaMusica.setTitulo("Reza do Milhao");
minhaMusica.setGenero("Trap");
for (int i = 0; i < 10000; i++) {
minhaMusica.reproduz();
}
for (int i = 0; i < 50; i++) {
minhaMusica.curtir();
}
Podcast meuPodcast = new Podcast();
meuPodcast.setTitulo("BolhaDev");
meuPodcast.setHost("Marcus Mendes");
for (int i = 0; i < 50000; i++) {
meuPodcast.reproduz();
}
for (int i = 0; i < 500; i++) {
meuPodcast.curtir();
}
MinhasPreferidas minhaPreferida = new MinhasPreferidas();
minhaPreferida.inclui(minhaMusica);
minhaPreferida.inclui(meuPodcast);
}
}