Mi clase Madre se llama Audio
package com.aluracursos.modelos;
public class Audio {
protected String titulo;
private int totalDeReproducciones;
private int totalDeMeGusta;
private int clasificacion;
public void meGusta() {
this.totalDeMeGusta++;
}
public void reproduce() {
this.totalDeReproducciones++;
}
public String getTitulo() {
return titulo;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
public int getTotalDeReproducciones() {
return totalDeReproducciones;
}
public void setTotalDeReproducciones(int totalDeReproducciones) {
this.totalDeReproducciones = totalDeReproducciones;
}
public int getTotalDeMeGusta() {
return totalDeMeGusta;
}
public void setTotalDeMeGusta(int totalDeMeGusta) {
this.totalDeMeGusta = totalDeMeGusta;
}
public int getClasificacion() {
return clasificacion;
}
public void setClasificacion(int clasificacion) {
this.clasificacion = clasificacion;
}
}
Clases Hijas
package com.aluracursos.modelos;
public class Cancion extends Audio {
private String album;
private String cantante;
private String genero;
@Override
public int getClasificacion() {
if (getTotalDeMeGusta() > 5000) {
return 8;
} else {
return 4;
}
}
@Override
public void setTitulo(String titulo) {
this.titulo = titulo;
}
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;
}
}
package com.aluracursos.modelos;
public class Podcast extends Audio {
private String presentador;
private String descripcion;
@Override
public int getClasificacion() {
if (getTotalDeReproducciones() >= 2000) {
return 9;
} else {
return 2;
}
}
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;
}
}
package com.aluracursos.modelos;
public class Mifavorito {
public void adicionar(Audio audio) {
if (audio.getClasificacion() < 8) {
System.out.println("Animo puedes llegar a ser uno de los mas escuchados");
return; // Salimos temprano si la clasificación es menor a 8
}
System.out.println(audio.getTitulo() + " Es de lo más votado hasta el momento");
}
}
package com.aluracursos.modelos.principal;
import com.aluracursos.modelos.Cancion;
import com.aluracursos.modelos.Mifavorito;
import com.aluracursos.modelos.Podcast;
public class Principal {
public static void main(String[] args) {
Cancion micancion = new Cancion();
micancion.setTitulo("As long as you love me ");
micancion.setCantante("Justin Bieber");
Podcast miPodcast = new Podcast();
miPodcast.setPresentador("Juanpis");
miPodcast.setTitulo("El Exito de Justin");
// cancion
for (int i = 0; i < 15000; i++) {
micancion.meGusta();
}
for (int i = 0; i < 200; i++) {
micancion.reproduce();
}
// podcast
for (int i = 0; i < 100; i++) {
miPodcast.meGusta();
}
for (int i = 0; i < 8; i++) {
miPodcast.reproduce();
}
System.out.println("Total de reproducciones: " + micancion.getTotalDeReproducciones());
System.out.println("Total de me gusta: " + micancion.getTotalDeMeGusta());
Mifavorito mifavorito = new Mifavorito();
mifavorito.adicionar(miPodcast);
mifavorito.adicionar(micancion);
}
}