package br.com.songbell.categorias;
public class Main {
public static void main(String[] args) {
Musicas musica = new Musicas();
musica.setTitulo("The Fate of Ophelia");
musica.setArtista("Taylor Swift");
musica.setAlbum("The Life of a Showgirl");
musica.setDuracaoEmMinutos(4);
musica.reproduzir();
musica.curtir();
musica.exibirDetalhes();
System.out.println("--------------------");
Podcasts podcast = new Podcasts();
podcast.setTitulo("Café com Tecnologia");
podcast.setApresentador("Mariana Souza");
podcast.setDuracaoEmMinutos(45);
podcast.reproduzir();
podcast.reproduzir();
podcast.exibirDetalhes();
}
}
package br.com.songbell.categorias;
public class Musicas extends Audio {
//atributos
private String genero;
private String artista;
private String album;
//metodos
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;
}
public String getAlbum() {
return album;
}
public void setAlbum(String album) {
this.album = album;
}
public void exibirDetalhes() {
System.out.println("==== Detalhes: ====");
System.out.println("Música: " + getTitulo());
System.out.println("Artista: " + artista);
System.out.println("Genêro: " + genero );
System.out.println("Album: " + album);
System.out.println("Reproduções: " + getTotalReproducoes());
}
}
package br.com.songbell.categorias;
public class Podcasts extends Audio {
private String apresentador;
private String descricao;
private String categoria;
private int numeroDeEpisodios;
private int totalReproducoes;
public String getApresentador() {
return apresentador;
}
public void setApresentador(String apresentador) {
this.apresentador = apresentador;
}
public void exibirDetalhes() {
System.out.println("Podcast: " + getTitulo());
System.out.println("Apresentador: " + apresentador);
System.out.println("Episódio: " + numeroDeEpisodios);
System.out.println("Descrição: " + descricao);
System.out.println("Reproduções: " + getTotalReproducoes());
}
}
package br.com.songbell.categorias;
public class Audio {
//atributos
private String titulo;
private int duracaoEmMinutos;
private int totalReproducoes;
private int curtidas;
private double avaliacao;
private int anoLancamento;
private double somaDasNotas = 0.0;
private int totalAvaliacoes = 0;
//get e setters
public String getTitulo() {
return titulo;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
public int getDuracaoEmMinutos() {
return duracaoEmMinutos;
}
public void setDuracaoEmMinutos(int duracaoEmMinutos) {
this.duracaoEmMinutos = duracaoEmMinutos;
}
public int getTotalReproducoes() {
return totalReproducoes;
}
public void setTotalReproducoes(int totalReproducoes) {
this.totalReproducoes = totalReproducoes;
}
public int getCurtidas() {
return curtidas;
}
public void setCurtidas(int curtidas) {
this.curtidas = curtidas;
}
public double getAvaliacao() {
return avaliacao;
}
public void setAvaliacao(double avaliacao) {
this.avaliacao = avaliacao;
}
public int getAnoLancamento() {
return anoLancamento;
}
public void setAnoLancamento(int anoLancamento) {
this.anoLancamento = anoLancamento;
}
// metodos
public void reproduzir(){
totalReproducoes++;
System.out.println("Reproduzindo: " + titulo);
}
public void curtir() {
curtidas++;
System.out.println("Você curtiu " + titulo + " !");
}
public void avaliar(double nota) {
somaDasNotas += nota;
totalAvaliacoes++;
avaliacao = somaDasNotas / totalAvaliacoes; // Cálculo da média acumulada!
System.out.println("avaliação de " + titulo + ": " + avaliacao);
}
}