package br.com.alura.princiapal;
import br.com.alura.organizaaudio.ClassificacaoDosAudios;
import br.com.alura.organizaaudio.Musica;
import br.com.alura.organizaaudio.Podcast;
public class Principal {
public static void main(String[] args) {
Musica minhaMusica = new Musica();
minhaMusica.setTitulo("Astronauta de Marmore");
minhaMusica.setArtista("Nenhum de Nós");
minhaMusica.setGenero("Pop Rock");
for (int i = 0; i < 1000; i++) {
minhaMusica.reproduz();
}
for (int i = 0; i < 500; i++) {
minhaMusica.curte();
}
Podcast meuPodcast = new Podcast();
meuPodcast.setTitulo("Inteligência Limitada");
meuPodcast.setApresentador("Vilela");
for (int i = 0; i < 5000; i++) {
meuPodcast.reproduz();
}
for (int i = 0; i < 1000; i++) {
meuPodcast.curte();
}
minhaMusica.exibirFichaAudio();
meuPodcast.exibirFichaAudio();
ClassificacaoDosAudios novaClassificacao = new ClassificacaoDosAudios();
novaClassificacao.inclui(minhaMusica);
novaClassificacao.inclui(meuPodcast);
}
}
package br.com.alura.organizaaudio;
public class Audio {
private String titulo;
private int totalreproducoes;
private int totalCurtidas;
private int classificacao;
public void setTitulo(String titulo) {
this.titulo = titulo;
}
public String getTitulo() {
return 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++;
}
public void exibirFichaAudio(){
System.out.println("Título: " + titulo);
System.out.println("Total de curtidas: "+totalCurtidas);
System.out.println("Total de reproduções: "+totalreproducoes) ;
System.out.println("-------------------------------------------------");
}
}
package br.com.alura.organizaaudio;
public class Musica extends Audio{
private String album;
private String artista;
private String genero;
public String getAlbum() {
return album;
}
public String getGenero(String s) {
return genero;
}
public void setGenero(String genero) {
this.genero = genero;
}
public void setAlbum(String album) {
this.album = album;
}
public void setArtista(String artista) {
this.artista = artista;
}
@Override
public void exibirFichaAudio(){
System.out.println("Título da musica: " + getTitulo());
System.out.println("Total de curtidas: "+getTotalCurtidas());
System.out.println("Total de reproduções: "+getTotalreproducoes()) ;
System.out.println("-------------------------------------------------");
}
@Override
public int getClassificacao() {
if(this.getTotalreproducoes() > 2000){
return 10;
} else{
return 7;
}
}
}
package br.com.alura.organizaaudio;
public class Podcast extends Audio{
private String apresentador;
private String descricao;
public void setApresentador(String apresentador) {
this.apresentador = apresentador;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
@Override
public int getClassificacao() {
if (this.getTotalCurtidas() > 500) {
return 10;
}else {
return 8;
}
}
@Override
public void exibirFichaAudio(){
System.out.println("Título do Podcast: " + getTitulo());
System.out.println("Apresentador: " + getApresentador());
System.out.println("descrição: "+ getDescricao());
System.out.println("Total de curtidas: "+ getTotalCurtidas());
System.out.println("Total de reproduções: "+ getTotalreproducoes()) ;
System.out.println("-------------------------------------------------");
}
}
package br.com.alura.organizaaudio;
public class ClassificacaoDosAudios {
public void inclui(Audio audio){
if(audio.getClassificacao()>=9){
System.out.println(audio.getTitulo() + " É um grande sucesso, tem uma ótima avaliação no rank das avaliações! ");
} else {
System.out.println(audio.getTitulo() + " Tem uma boa avaliação no rank das avaliações!");
}
}
}
