Principal.java
package com.aluracursos.radioalura.principal;
import com.aluracursos.radioalura.modelos.Cancion;
import com.aluracursos.radioalura.modelos.Podcast;
import com.aluracursos.radioalura.modelos.MisFavoritos;
public class Principal {
public static void main(String[] args) {
Cancion miCancion = new Cancion();
miCancion.setTitulo("Forever");
miCancion.setCantante("Kiss");
miCancion.setAlbum("Hot in the Shade");
miCancion.setGenero("Rock");
for (int i = 0; i < 2000; i++) {
miCancion.reproduce();
}
for (int i = 0; i < 15000; i++) {
miCancion.meGusta();
}
System.out.println("Reproducciones canción: "
+ miCancion.getTotalReproducciones());
System.out.println("Me gusta canción: "
+ miCancion.getTotalMeGusta());
Podcast miPodcast = new Podcast();
miPodcast.setTitulo("Café.Tech");
miPodcast.setPresentador("Gabriela");
miPodcast.setDescripcion("Podcast sobre tecnología");
for (int i = 0; i < 8000; i++) {
miPodcast.reproduce();
}
for (int i = 0; i < 100; i++) {
miPodcast.meGusta();
}
System.out.println("Reproducciones podcast: "
+ miPodcast.getTotalReproducciones());
System.out.println("Me gusta podcast: "
+ miPodcast.getTotalMeGusta());
MisFavoritos favoritos = new MisFavoritos();
favoritos.adiciona(miCancion);
favoritos.adiciona(miPodcast);
}
}
Audio.java
package com.aluracursos.radioalura.modelos;
public class Audio {
private String titulo;
private int duracion;
private int totalReproducciones;
private int totalMeGusta;
private int clasificacion;
public void meGusta() {
this.totalMeGusta++;
}
public void reproduce() {
this.totalReproducciones++;
}
public int getClasificacion() {
return clasificacion;
}
// Getters y Setters
public String getTitulo() {
return titulo;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
public int getDuracion() {
return duracion;
}
public void setDuracion(int duracion) {
this.duracion = duracion;
}
public int getTotalReproducciones() {
return totalReproducciones;
}
public int getTotalMeGusta() {
return totalMeGusta;
}
public void setClasificacion(int clasificacion) {
this.clasificacion = clasificacion;
}
}
Cancion.java
package com.aluracursos.radioalura.modelos;
public class Cancion extends Audio {
private String album;
private String cantante;
private String genero;
@Override
public int getClasificacion() {
if (getTotalMeGusta() > 5000) {
return 8;
} else {
return 4;
}
}
// Getters y Setters
public String getAlbum() {
return album;
}
public void setAlbum(String album) {
this.album = album;
}
public String getCantante() {
return cantante;
}
public void setCantante(String cantante) {
this.cantante = cantante;
}
public String getGenero() {
return genero;
}
public void setGenero(String genero) {
this.genero = genero;
}
}
MisFavoritos.java
package com.aluracursos.radioalura.modelos;
public class MisFavoritos {
public void adiciona(Audio audio) {
if (audio.getClasificacion() >= 8) {
System.out.println(audio.getTitulo() +
" es uno de los favoritos del momento");
} else {
System.out.println(audio.getTitulo() +
" también fue añadido a tus favoritos");
}
}
}
Podcast.java
package com.aluracursos.radioalura.modelos;
public class Podcast extends Audio {
private String presentador;
private String descripcion;
@Override
public int getClasificacion() {
if (getTotalReproducciones() >= 2000) {
return 9;
} else {
return 2;
}
}
// Getters y Setters
public String getPresentador() {
return presentador;
}
public void setPresentador(String presentador) {
this.presentador = presentador;
}
public String getDescripcion() {
return descripcion;
}
public void setDescripcion(String descripcion) {
this.descripcion = descripcion;
}
}