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

Haga lo que hicimos en aula: proyecto con orientación a objetos

Aquí est el código que hice a la par escuchando el video :D Clase Pelicula:

public class Pelicula {
    String nombre;
    int fechaDeLanzamiento;
    int duracionEnMinutos;
    boolean incluidoEnElPlan;
    double sumaDeLasEvaluaciones;
    int totalDeEvaluaciones;

    void muestraFechaTecnica(){
        System.out.println("El nombre de la película es: " + nombre);
        System.out.println("Su fecha de lanzamiento es: " + fechaDeLanzamiento);
        System.out.println("Dureción en minutos: " + duracionEnMinutos);
    }

    void evalua(double nota){
        sumaDeLasEvaluaciones += nota;
        totalDeEvaluaciones ++;
    }

    double calculaMedia () {
        return sumaDeLasEvaluaciones / totalDeEvaluaciones;
    }
}

Clase Principal

public class Principal {
    public static void main(String[] args) {
        Pelicula miPelicula = new Pelicula();
        miPelicula.nombre = "Encanto";
        miPelicula.fechaDeLanzamiento = 2021;
        miPelicula.duracionEnMinutos = 120;

        miPelicula.muestraFechaTecnica();
        miPelicula.evalua(7.8);
        miPelicula.evalua(9.8);
        System.out.println(miPelicula.sumaDeLasEvaluaciones);
        System.out.println(miPelicula.totalDeEvaluaciones);
        System.out.println(miPelicula.calculaMedia());

        Pelicula otraPelicula = new Pelicula();
        otraPelicula.nombre = "Shrek";
        otraPelicula.fechaDeLanzamiento = 2001;
        otraPelicula.duracionEnMinutos = 89;

        otraPelicula.muestraFechaTecnica();
        otraPelicula.evalua(7.8);
        otraPelicula.evalua(9.8);

        System.out.println(otraPelicula.sumaDeLasEvaluaciones);
        System.out.println(otraPelicula.totalDeEvaluaciones);
        System.out.println(otraPelicula.calculaMedia());
    }
}
2 respuestas

Hola Diego, espero que estés bien

¡Qué bueno que estás siguiendo las lecciones y aplicando lo aprendido! Tu código parece estar muy bien encaminado según las instrucciones de la actividad. Has creado correctamente la clase Pelicula con los atributos y métodos necesarios, y también la clase Principal para ejecutar el programa.

Aquí hay algunos puntos que podrías considerar para mejorar o verificar:

  1. Encapsulamiento: Aunque no es obligatorio en este ejercicio, es una buena práctica hacer que los atributos de una clase sean privados y acceder a ellos mediante métodos getters y setters. Esto ayuda a proteger los datos y a mantener la integridad del objeto.

    public class Pelicula {
        private String nombre;
        private int fechaDeLanzamiento;
        private int duracionEnMinutos;
        private boolean incluidoEnElPlan;
        private double sumaDeLasEvaluaciones;
        private int totalDeEvaluaciones;
    
        // Métodos getters y setters aquí
    }
    
  2. Validación de datos: Al evaluar una película, podrías considerar agregar una validación para asegurarte de que la nota esté dentro de un rango válido (por ejemplo, entre 0 y 10).

  3. Pruebas adicionales: Podrías probar con más películas y evaluaciones para asegurarte de que el cálculo de la media y la acumulación de evaluaciones funcionan correctamente.

  4. Comentarios: Añadir comentarios en tu código puede ayudarte a ti y a otros a entender mejor lo que hace cada parte del programa.

Tu implementación parece estar en línea con lo que se pidió en la actividad. Continúa explorando y experimentando con el código, eso te ayudará a afianzar tus conocimientos en programación orientada a objetos.

Espero haber ayudado y ¡buenos estudios!

public class Pelicula {

    private String nombre;
    private int fechaDeLanzamiento;
    private int duracionEnMinutos;
    private boolean incluidoEnElPlan;
    private double sumaDeLasEvaluaciones;
    private int totalDeEvaluaciones;

    // Métodos getters y setters aquí

void muestraFechaTecnica(){
    System.out.println("El nombre de la película es: " + nombre);
    System.out.println("Su fecha de lanzamiento es: " + fechaDeLanzamiento);
    System.out.println("Dureción en minutos: " + duracionEnMinutos);
}

void evalua(double nota){
    sumaDeLasEvaluaciones += nota;
    totalDeEvaluaciones ++;
}

double calculaMedia () {
    return sumaDeLasEvaluaciones / totalDeEvaluaciones;
}

public String getNombre() {
    return nombre;
}

public void setNombre(String nombre) {
    this.nombre = nombre;
}

public int getFechaDeLanzamiento() {
    return fechaDeLanzamiento;
}

public void setFechaDeLanzamiento(int fechaDeLanzamiento) {
    this.fechaDeLanzamiento = fechaDeLanzamiento;
}

public int getDuracionEnMinutos() {
    return duracionEnMinutos;
}

public void setDuracionEnMinutos(int duracionEnMinutos) {
    this.duracionEnMinutos = duracionEnMinutos;
}

public boolean isIncluidoEnElPlan() {
    return incluidoEnElPlan;
}

public void setIncluidoEnElPlan(boolean incluidoEnElPlan) {
    this.incluidoEnElPlan = incluidoEnElPlan;
}

public double getSumaDeLasEvaluaciones() {
    return sumaDeLasEvaluaciones;
}

public void setSumaDeLasEvaluaciones(double sumaDeLasEvaluaciones) {
    this.sumaDeLasEvaluaciones = sumaDeLasEvaluaciones;
}

public int getTotalDeEvaluaciones() {
    return totalDeEvaluaciones;
}

public void setTotalDeEvaluaciones(int totalDeEvaluaciones) {
    this.totalDeEvaluaciones = totalDeEvaluaciones;
}

}

public class Main { public static void main(String[] args) { Pelicula miPelicula = new Pelicula(); miPelicula.setNombre("Encanto"); miPelicula.setFechaDeLanzamiento(2021); miPelicula.setDuracionEnMinutos(38);

    miPelicula.muestraFechaTecnica();
    miPelicula.evalua(7.8);
    miPelicula.evalua(9.8);
    System.out.println(miPelicula.getSumaDeLasEvaluaciones());
    System.out.println(miPelicula.getTotalDeEvaluaciones());
    System.out.println(miPelicula.calculaMedia());

    Pelicula otraPelicula = new Pelicula();
    otraPelicula.setNombre("Shrek");
    otraPelicula.setFechaDeLanzamiento(2001);
    otraPelicula.setDuracionEnMinutos(89);

    otraPelicula.muestraFechaTecnica();
    otraPelicula.evalua(10);
    otraPelicula.evalua(10);

    System.out.println(otraPelicula.getSumaDeLasEvaluaciones());
    System.out.println(otraPelicula.getTotalDeEvaluaciones());
    System.out.println(otraPelicula.calculaMedia());

}

}