Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
2
respuestas

Proyecto final

com.aluracursos.readiomix
package modelos
Audio.java

package com.aluracursos.radiomix.modelos;

public class Audio {
    private 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;
    }
}

Cancion.java

package com.aluracursos.radiomix.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;
        }

    }

    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.radiomix.modelos;

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");
        }
    }
}

Podcast.java

package com.aluracursos.radiomix.modelos;

import java.util.stream.Stream;

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 Principal
Principal.java

package com.aluracursos.radiomix.principal;

import com.aluracursos.radiomix.modelos.Cancion;
import com.aluracursos.radiomix.modelos.MisFavoritos;
import com.aluracursos.radiomix.modelos.Podcast;

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

        Podcast miPodcast = new Podcast();
        miPodcast.setPresentador("Gabriela Mistral");
        miPodcast.setTitulo("Poesias para el alma");

        // mis canciones
        for (int i = 0; i < 100; i++) {
            miCancion.meGusta();
        }
        for (int i = 0; i < 2000; i++) {
            miCancion.reproduce();
        }
        //Podcast
        for (int i = 0; i < 100; i++) {
            miPodcast.meGusta();
        }
        for (int i = 0; i < 8000; i++) {
            miPodcast.reproduce();
        }

        System.out.println("Total de reproducciones: " + miCancion.getTotalDeReproducciones());
        System.out.println("Total de me gusta : " + miCancion.getTotalDeMegusta());

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

    }
}
2 respuestas
solución!

Hola Sebastian, espero que estés bien

Gracias por compartir tu código. Parece que estás trabajando en un proyecto que involucra clases de Java para manejar canciones y podcasts, aplicando principios de orientación a objetos. Tu código está bien estructurado y parece que estás en el camino correcto.

He revisado tu código y aquí hay algunos puntos que podrías considerar:

  1. Uso de @Override: Veo que estás sobreescribiendo el método getClasificacion() tanto en la clase Cancion como en Podcast. Esto es correcto y muestra un buen uso de la herencia y el polimorfismo. Asegúrate de que esta lógica de clasificación sea la que realmente deseas aplicar a tus objetos.

  2. Método adiciones en MisFavoritos: Este método está diseñado para imprimir un mensaje basado en la clasificación del audio. Funciona correctamente con la lógica que has implementado en las clases Cancion y Podcast.

  3. Pruebas en Principal.java: En tu clase principal, estás probando el incremento de reproducciones y "me gusta" para una canción y un podcast. Esto es una buena práctica para verificar que tus métodos funcionan como se espera. Asegúrate de que los números que estás usando para las pruebas (por ejemplo, 2000 reproducciones para la canción) reflejen los casos que deseas verificar.

  4. Posibles mejoras: Podrías considerar añadir más atributos o métodos que podrían ser útiles en el contexto de tu aplicación. Por ejemplo, podrías implementar un método para mostrar información detallada de cada canción o podcast.

Si tienes algún problema específico con el que necesitas ayuda, no dudes en compartir más detalles para que pueda asistirte mejor.

Espero haber ayudado y buenos estudios!

Eso vere hoy dia, ayer ya era muy tarde y tenia trabajo hoy. gracias por la sugerencia.