Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Sugerencia] Proyecto con orientación a objetos

//CREACIÓN DE LA CLASE PELICULA 

public class Pelicula {
   String nombre;

   int fechaDeLanzamiento;

   int duracionEnMinutos;

   boolean incluidoEnElPlan;

   void muestraFichaTecnica (){
      System.out.println("El nombre de la pelicula es: " + nombre);
      System.out.println("Su fecha de lanzamiento fué en: " + fechaDeLanzamiento);
      System.out.println("Duración en minutos: " + duracionEnMinutos);

   };

   //-----------------------------------------------------
   double sumaDeLasEvaluaciones;

   int totalDeLasEvaluaciones;

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

   double calculaMedia () {
      return sumaDeLasEvaluaciones/totalDeLasEvaluaciones;
   }
}
//MUESTRA DE LOS MÉTODOS Y ATRIBUTOS EN LA CLASE MAIN DEL OBJETO "miPelicula"

public static void main(String[] args) {

        Pelicula miPelicula = new Pelicula();
        miPelicula.nombre = "Sherlock Holmes";
        miPelicula.fechaDeLanzamiento = 2010;
        miPelicula.duracionEnMinutos = 160;
        miPelicula.incluidoEnElPlan = true;

        miPelicula.muestraFichaTecnica();
        miPelicula.evalua(8.9);
        miPelicula.evalua(7.9);
//
        System.out.println("Evaluaciones: " + miPelicula.totalDeLasEvaluaciones);
        System.out.println("Su evaluación actual es: " + miPelicula.calculaMedia());
1 respuesta

¡Hola Luis, espero que estés bien!

Parece que estás en el camino correcto con tu implementación de la clase Pelicula y su uso en el método main. Has seguido bien las instrucciones del ejercicio creando los atributos y métodos necesarios. Aquí hay algunas sugerencias y observaciones que podrían ayudarte a mejorar o ajustar tu código:

  1. Encapsulamiento: Aunque no se menciona en el ejercicio, es una buena práctica en programación orientada a objetos encapsular los atributos de una clase. Esto significa hacerlos private y proporcionar métodos getter y setter para acceder y modificar estos atributos. 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 totalDeLasEvaluaciones;
    
        // Métodos getter y setter aquí
    }
    
  2. Uso de métodos: Veo que ya estás llamando a los métodos muestraFichaTecnica, evalua, y calculaMedia correctamente en tu main. Esto es genial, ya que estás utilizando la funcionalidad que has implementado en la clase Pelicula.

  3. Pruebas adicionales: Puedes probar a evaluar la película con más notas para ver cómo cambia la media, o incluso crear más objetos Pelicula para practicar cómo manejar múltiples instancias de una clase.

  4. Comentarios: Aunque tu código es bastante claro, añadir comentarios puede ayudar a otros (o a ti mismo en el futuro) a entender rápidamente qué hace cada parte del código.

Tu implementación está bastante alineada con el ejercicio, así que sigue adelante y experimenta con diferentes escenarios para reforzar tu comprensión de la orientación a objetos.

¡Espero haber ayudado y buenos estudios!