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

Desafío: construyendo una nueva aplicación

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