package br.com.jp.Myspotify.Main;
import br.com.jp.Myspotify.models.Music;
import br.com.jp.Myspotify.models.Myfavorits;
import br.com.jp.Myspotify.models.Podcast;
public class Main {
public static void main(String[] args) {
Music hope = new Music();
Podcast Bolhacast = new Podcast();
Myfavorits fav = new Myfavorits();
hope.setArtist("jack johnson");
hope.setTitle("hope");
for (int i = 0; i < 1000; i++) {
hope.reproduction();
}
for (int i = 0; i < 50; i++) {
hope.like();
}
Bolhacast.setTitle("bolhadev");
Bolhacast.setHost("marcos mendes");
for (int i = 0; i < 5000; i++) {
Bolhacast.reproduction();
}
for (int i = 0; i < 1000; i++) {
Bolhacast.like();
}
fav.includ(hope);
fav.includ(Bolhacast);
}
}
//Superclasse "Áudio":
//Atributos: título, duração, total de reproduções, curtidas
//e classificação.Métodos: curtir, reproduzir (encapsulados).
//Classes filhas:"Podcasts" e "Músicas" (herança da superclasse "Áudio").
//Encapsulamento:Proteger os atributos da classe "Áudio".
//Classe para controlar:Músicas e podcasts preferidos.
//o que precisa ter :
//Orientação a Objetos (OO):
//Herança
//Polimorfismo
//Encapsulamento
//Classes:
//Superclasse "Áudio"
//Classes filhas "Podcasts" e "Músicas"
//Atributos:
//Título, duração, total de reproduções, curtidas e
//classificação (na classe "Áudio") Métodos:
//Curtir, reproduzir (na classe "Áudio")package br.com.jp.Myspotify.models;
public class Audio {
private String Title;
private int TotalReproduction;
private int TotalLikes;
private int Classifing;
public int getClassifing() {
return Classifing;
}
public void setClassifing(int classifing) {
Classifing = classifing;
}
public String getTitle() {
return Title;
}
public void setTitle(String title) {
Title = title;
}
public int getTotalReproduction() {
return TotalReproduction;
}
public void setTotalReproduction(int totalReproduction) {
TotalReproduction = totalReproduction;
}
public int getTotalLikes() {
return TotalLikes;
}
public void setTotalLikes(int totalLikes) {
TotalLikes = totalLikes;
}
public void like() {
TotalLikes++;
}
public void reproduction() {
TotalReproduction++;
}
}
package br.com.jp.Myspotify.models;
public class Music extends Audio {
private String Album;
private String Artist;
private String Genre;
public String getAlbum() {
return Album;
}
public void setAlbum(String album) {
Album = album;
}
public String getArtist() {
return Artist;
}
public void setArtist(String artist) {
Artist = artist;
}
public String getGenre() {
return Genre;
}
public void setGenre(String genre) {
Genre = genre;
}
@Override
public int getClassifing() {
if (getTotalReproduction() > 2000) {
return 10;
} else {
return 7;
}
}
}
package br.com.jp.Myspotify.models;
public class Myfavorits {
public void includ(Audio audio) {
if (audio.getClassifing() >= 9) {
System.out.println("title" + audio.getTitle() + "sucesso");
} else {
System.out.println("tem quem goste " + audio.getTitle());
}
}
}
package br.com.jp.Myspotify.models;
public class Podcast extends Audio {
private String Host;
private String description;
public String getHost() {
return Host;
}
public void setHost(String host) {
Host = host;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
@Override
public int getClassifing() {
if (getTotalLikes() > 500) {
return 10;
}
else {
return 8;
}
}
}