public class FilterRecommendation {
public void filter(Classification classification){
if(classification.getclassification() >=4){
System.out.println("Está entre os preferidos do momento.");
} else if (classification.getclassification() >= 2) {
System.out.println("Muito bem avaliado no momento.");
} else{
System.out.println("Coloque na sua lista para assistir depois.");
}
}
}
Interface
package br.com.AudioPlayer.classification;
public interface Classification {
int getclassification();
}
SuperClasse
package br.com.AudioPlayer.model;
public class Audio {
private String name;
private double duration;
private int totalReproductions;
private int likes;
private int classification;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getDuration() {
return duration;
}
public void setDuration(double duration) {
this.duration = duration;
}
public int getTotalReproductions() {
return totalReproductions;
}
public void setTotalReproductions(int totalReproductions) {
this.totalReproductions = totalReproductions;
}
public int getLikes() {
return likes;
}
public void setLikes(int likes) {
this.likes = likes;
}
public int getClassification() {
return classification;
}
public void setClassification(int classification) {
this.classification = classification;
}
public void like(){
likes++;
}
public void play(){
totalReproductions++;
}
@Override
public String toString() {
return "Nome: " + name +
"\nDuração: " + duration + " minutos" +
"\nCurtidas: " + likes +
"\nReproduções: " + totalReproductions;
}
}
SubClasse
package br.com.AudioPlayer.model;
import br.com.AudioPlayer.classification.Classification;
public class Podcast extends Audio implements Classification {
private String host;
private String description;
private String guest;
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getHost() {
return host;
}
public void setHost(String host) {
this.host = host;
}
public String getGuest() {
return guest;
}
public void setGuest(String guest) {
this.guest = guest;
}
@Override
public String toString() {
return "Apresentador: " + host + "\n" +
super.toString() +
"\nConvidado: " + guest +
"\nDescrição: " + description;
}
public int getclassification(){
if (getLikes() == 0){
return 0;
}
return getTotalReproductions()/getLikes();
}
}
SubClasse
package br.com.AudioPlayer.model;
import br.com.AudioPlayer.classification.Classification;
public class Music extends Audio implements Classification {
private String album;
private String artist;
private String genre;
public String getArtist() {
return artist;
}
public void setArtist(String artist) {
this.artist = artist;
}
public String getAlbum() {
return album;
}
public void setAlbum(String album) {
this.album = album;
}
public String getGenre() {
return genre;
}
public void setGenre(String genre) {
this.genre = genre;
}
@Override
public String toString() {
return super.toString() +
"\nArtista: " + artist +
"\nÁlbum: " + album +
"\nGênero: " + genre;
}
public int getclassification(){
if (getLikes() == 0){
return 0;
}
return getTotalReproductions()/getLikes();
}
}