package br.com.alura.minhasmusicas.modelos;
public class Audio {
private String tipo;
private String titulo;
private int totalReproducoes;
private int totalCurtidas;
private int classificacao;
public String getTipo() {
return tipo;
}
public void setTipo(String tipo) {
this.tipo = tipo;
}
public String getTitulo() {
return titulo;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
public int getTotalReproducoes() {
return totalReproducoes;
}
public int getTotalCurtidas() {
return totalCurtidas;
}
public int getClassificacao() {
return classificacao;
}
public void curte() {
this.totalCurtidas++;
}
public void reproduz() {
this.totalReproducoes++;
}
}
package br.com.alura.minhasmusicas.modelos;
public class Musica extends Audio {
private String album;
private String artista;
private String genero;
public String getAlbum() {
return album;
}
public void setAlbum(String album) {
this.album = album;
}
public String getArtista() {
return artista;
}
public void setArtista(String artista) {
this.artista = artista;
}
public String getGenero() {
return genero;
}
public void setGenero(String genero) {
this.genero = genero;
}
@Override
public int getClassificacao() {
if (this.getTotalReproducoes() > 2000) {
return 10;
} else {
return 7;
}
}
}
package br.com.alura.minhasmusicas.modelos;
public class Podcast extends Audio {
private String apresentador;
private String descricao;
public String getApresentador() {
return apresentador;
}
public void setApresentador(String apresentador) {
this.apresentador = apresentador;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
@Override
public int getClassificacao() {
if (this.getTotalCurtidas() > 500) {
return 10;
} else {
return 8;
}
}
}
package br.com.alura.minhasmusicas.modelos;
public class MinhasPreferidas {
public void inclui(Audio audio) {
if (audio.getClassificacao() >= 9) {
System.out.println(audio.getTipo() + " " + audio.getTitulo() + " é sucesso absoluto!");
} else {
System.out.println(audio.getTipo() + " " + audio.getTitulo() + " também está sendo muito ouvida!");
}
}
}
package br.com.alura.minhasmusicas.principal;
import br.com.alura.minhasmusicas.modelos.MinhasPreferidas;
import br.com.alura.minhasmusicas.modelos.Musica;
import br.com.alura.minhasmusicas.modelos.Podcast;
public class Principal {
public static void main(String[] args) {
Musica minhaMusica = new Musica();
minhaMusica.setTipo("A Música");
minhaMusica.setTitulo("Forever");
minhaMusica.setArtista("Kiss");
for (int i = 0; i < 1000; i++) {
minhaMusica.reproduz();
}
for (int i = 0; i < 50; i++) {
minhaMusica.curte();
}
Podcast meuPodcast = new Podcast();
meuPodcast.setTipo("O Podcast");
meuPodcast.setTitulo("BolhaDev");
meuPodcast.setApresentador("Marcus Mendes");
for (int i = 0; i < 5000; i++) {
meuPodcast.reproduz();
}
for (int i = 0; i < 1000; i++) {
meuPodcast.curte();
}
MinhasPreferidas preferidas = new MinhasPreferidas();
preferidas.inclui(meuPodcast);
preferidas.inclui(minhaMusica);
}
}