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

proyecto con orientación a objetos

Clase Pelicula

import java.time.LocalDate;

public class Pelicula {
    // Atributos
    public String nombre;
    public LocalDate fechaDeLanzamiento;
    public int duracionEnMinutos;
    public boolean incluidoEnElPlan;
    public double sumaDeLasEvaluaciones;
    public int totalDeLasEvaluaciones;

    // Método para mostrar la ficha técnica
    public void muestraFichaTecnica() {
        System.out.println("\n--- Ficha Técnica ---");
        System.out.println("Nombre: " + nombre);
        System.out.println("Fecha de lanzamiento: " + fechaDeLanzamiento);
        System.out.println("Duración: " + duracionEnMinutos + " minutos");
        System.out.println("Incluido en el plan: " + (incluidoEnElPlan ? "Sí" : "No"));
    }

    // Método para evaluar la película
    public void evalua(double evaluacion) {
        sumaDeLasEvaluaciones += evaluacion;
        totalDeLasEvaluaciones++;
    }

    // Método para calcular la media de evaluaciones
    public double calculaMedia() {
        return totalDeLasEvaluaciones > 0 ? sumaDeLasEvaluaciones / totalDeLasEvaluaciones : 0;
    }
}

Clase main

import java.time.LocalDate;

public class Main {
    public static void main(String[] args) {
        // Crear un objeto Pelicula
        Pelicula pelicula = new Pelicula();
        pelicula.nombre = "El Señor de los Anillos: La Comunidad del Anillo";
        pelicula.fechaDeLanzamiento = LocalDate.of(2001, 12, 19);
        pelicula.duracionEnMinutos = 178;
        pelicula.incluidoEnElPlan = true;

        // Evaluar la película
        pelicula.evalua(9.8);
        pelicula.evalua(9.5);
        pelicula.evalua(10.0);

        // Mostrar resultados
        pelicula.muestraFichaTecnica();
        System.out.printf("Calificación promedio: %.1f ⭐\n", pelicula.calculaMedia());
    }
}
1 respuesta

Hola Cesar, espero que estés bien

¡Tu implementación del proyecto con orientación a objetos parece estar muy bien encaminada! Has seguido correctamente las instrucciones para crear la clase Pelicula con los atributos y métodos necesarios. También has implementado una clase Main que crea un objeto Pelicula, llena sus atributos y llama a sus métodos.

Aquí hay algunas cosas que podrías considerar para mejorar o expandir tu proyecto:

  1. Encapsulamiento: Actualmente, los atributos de la clase Pelicula son públicos. Para seguir los principios de la orientación a objetos, podrías hacerlos privados y proporcionar métodos get y set para acceder y modificar estos atributos. Esto ayuda a proteger los datos y a mantener el control sobre cómo se accede y modifica el estado del objeto.

    private String nombre;
    private LocalDate fechaDeLanzamiento;
    private int duracionEnMinutos;
    private boolean incluidoEnElPlan;
    private double sumaDeLasEvaluaciones;
    private int totalDeLasEvaluaciones;
    
    public String getNombre() {
        return nombre;
    }
    
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
    
    // Repite para los demás atributos...
    
  2. Validación de datos: Podrías agregar validaciones en los métodos set para asegurar que los datos ingresados sean válidos. Por ejemplo, podrías verificar que la duración de la película no sea negativa.

  3. Comentarios y documentación: Asegúrate de incluir comentarios en tu código para explicar qué hace cada parte. Esto es especialmente útil cuando otras personas leen tu código o cuando vuelves a él después de un tiempo.

  4. Pruebas adicionales: Podrías crear más instancias de Pelicula y realizar diferentes evaluaciones para asegurarte de que todos los métodos funcionan correctamente en distintos escenarios.

Espero que estas sugerencias te sean útiles y te ayuden a mejorar tu proyecto. ¡Sigue adelante con el buen trabajo!

Espero haber ayudado y buenos estudios!