Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
5
respuestas

Poryevto Final Audio

package com.aluracursos.radioalura.modelo;

public class Audio {
private String titulo;
private int totalReproducciones;
private int totalMeGustas;
private int clasificacion;

public void meGusta(){
    this.totalMeGustas++;
}
public void reproduce(){
    this.totalReproducciones++;
}

public String getTitulo() {
    return titulo;
}

public void setTitulo(String titulo) {
    this.titulo = titulo;
}

public int getTotalReproducciones() {
    return totalReproducciones;
}

public void setTotalReproducciones(int totalReproducciones) {
    this.totalReproducciones = totalReproducciones;
}

public int getTotalMeGustas() {
    return totalMeGustas;
}

public void setTotalMeGustas(int totalMeGustas) {
    this.totalMeGustas = totalMeGustas;
}

public int getClasificacion() {
    return clasificacion;
}

public void setClasificacion(int clasificacion) {
    this.clasificacion = clasificacion;
}

}

5 respuestas

package com.aluracursos.radioalura.modelo;

public class Cancion extends Audio {
private String album;
private String cantante;
private String genero;

@Override
public int getClasificacion() {
    if (getTotalMeGustas()>=5000){
        return 8;
    }else
    {
        return 4;
    }

}

public String getAlbum() {
    return album;
}

public void setAlbum(String album) {
    this.album = album;
}

public String getGenero() {
    return genero;
}

public void setGenero(String genero) {
    this.genero = genero;
}

public String getCantante() {
    return cantante;
}

public void setCantante(String cantante) {
    this.cantante = cantante;
}

}

package com.aluracursos.radioalura.modelo;

public class Podcast extends Audio{

private String prsentador;
private String descripcion;

@Override
public int getClasificacion() {
    if(getTotalReproducciones()>=200){
        return 9;
    }else {
        return 2;
    }
}

public String getPrsentador() {
    return prsentador;
}

public void setPrsentador(String prsentador) {
    this.prsentador = prsentador;
}

public String getDescripcion() {
    return descripcion;
}

public void setDescripcion(String descripcion) {
    this.descripcion = descripcion;
}

}

package com.aluracursos.radioalura.modelo;

public class MisFavoritos {
public void adiciones(Audio audio){
if (audio.getClasificacion()>=8){
System.out.println(audio.getTitulo() + " Es uno de los Favoritos del momento");
}else {
System.out.println(audio.getTitulo() + " Tambien es uno de los Favoritos del momento");
}
}
}

package com.aluracursos.radioalura.principal;

import com.aluracursos.radioalura.modelo.Cancion;
import com.aluracursos.radioalura.modelo.MisFavoritos;
import com.aluracursos.radioalura.modelo.Podcast;

import java.awt.desktop.SystemEventListener;

public class Principal {
public static void main(String[] args) {
Cancion micancion = new Cancion();
micancion.setTitulo("Forever");
micancion.setCantante("Kiss");

    Podcast miPodcast = new Podcast();
    miPodcast.setPrsentador("Gabriela Aguiar");
    miPodcast.setTitulo("cafe.Tech");

    for (int i= 0;  i< 100; i++) {
        micancion.meGusta();
    }

    for (int i = 0; i < 2000; i++) {
       micancion.reproduce();
    }
    //Podcast
    for (int i= 0;  i< 15000; i++) {
        miPodcast.meGusta();
    }

    for (int i = 0; i < 200; i++) {
        miPodcast.reproduce();
    }

    System.out.println("Total Reproducciones:  " +micancion.getTotalReproducciones());
    System.out.println("Total me gustas:  " + micancion.getTotalMeGustas());

    MisFavoritos favoritos= new MisFavoritos();
    favoritos.adiciones(miPodcast);
    favoritos.adiciones(micancion);

}

}

Hola Liliana, espero que estés bien

Parece que estás trabajando en un proyecto de Java relacionado con la orientación a objetos y has compartido una parte del código de una clase llamada Audio. Tu clase está bien estructurada y sigue los principios básicos de encapsulamiento al utilizar métodos get y set para acceder y modificar los atributos privados.

Si tienes dudas sobre cómo mejorar o extender esta clase, aquí van algunas sugerencias:

  1. Validación de Datos: Puedes agregar validaciones en los métodos set para asegurarte de que los valores asignados a los atributos sean válidos. Por ejemplo, podrías asegurarte de que clasificacion no sea negativa.

    public void setClasificacion(int clasificacion) {
        if (clasificacion >= 0) {
            this.clasificacion = clasificacion;
        } else {
            System.out.println("La clasificación no puede ser negativa.");
        }
    }
    
  2. Métodos Adicionales: Podrías considerar la implementación de métodos adicionales que proporcionen más funcionalidad, como calcular la popularidad del audio basada en el número de reproducciones y "me gusta".

    public double calcularPopularidad() {
        return (totalReproducciones * 0.7) + (totalMeGustas * 0.3);
    }
    
  3. Sobrescritura del Método toString: Esto te permitirá imprimir fácilmente la información del objeto Audio de una manera legible.

    @Override
    public String toString() {
        return "Audio{" +
                "titulo='" + titulo + '\'' +
                ", totalReproducciones=" + totalReproducciones +
                ", totalMeGustas=" + totalMeGustas +
                ", clasificacion=" + clasificacion +
                '}';
    }
    

Espero que estas ideas te sean útiles para avanzar en tu proyecto. ¡Bons estudos!