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

Encapsulamiento

package com.aluracursos.screenmatch.modelos;
public class Pelicula {
private String nombre;
private int fechaLanzamiento;
private int duracion;
private boolean incluidoEnElPlan;
private double sumaEvaluaciones;
private int totalEvaluaciones;

public String getNombre() {
    return nombre;
}

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

public void setFechaLanzamiento(int fechaLanzamiento) {
    this.fechaLanzamiento = fechaLanzamiento;
}

public int getDuracion() {
    return duracion;
}

public void setDuracion(int duracion) {
    this.duracion = duracion;
}

public boolean isIncluidoEnElPlan() {
    return incluidoEnElPlan;
}

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

double getSumaEvaluaciones(){

    return sumaEvaluaciones;
}

int getFechaLanzamiento() {

    return totalEvaluaciones;
}

public void muestraFichaTecnica() {
    System.out.println(" El nombre de la Pelicula es: " + nombre);
    System.out.println(" La Fecha de Lanzamiento de la Pelicula es: " + fechaLanzamiento);
    System.out.println(" Duracion de la Pelicula es: " + duracion);
    System.out.println(" La evalución de la Pelicula es: " +calcularMedia());
}

public void evaluar(double nota){
sumaEvaluaciones += nota;
totalEvaluaciones++;

}

public double calcularMedia(){

    return sumaEvaluaciones/totalEvaluaciones;
}

}

1 respuesta

¡Hola Liliana, espero que estés bien!

Encapsulamiento es un concepto clave en la programación orientada a objetos que nos ayuda a proteger los atributos de una clase y controlar cómo se accede y modifica su estado. En tu código, ya has implementado encapsulamiento al declarar los atributos de la clase Pelicula como private y proporcionar métodos get y set públicos para acceder a ellos.

Sin embargo, he notado un pequeño error en tu método getFechaLanzamiento(). Actualmente, está devolviendo totalEvaluaciones en lugar de fechaLanzamiento. Aquí está la corrección que puedes hacer:

public int getFechaLanzamiento() {
    return fechaLanzamiento;
}

Además, asegúrate de que todos los métodos que deberían ser accesibles desde fuera de la clase sean públicos y que los métodos que no deberían serlo estén bien encapsulados.

Por ejemplo, si no deseas que sumaEvaluaciones sea accesible directamente desde fuera de la clase, no necesitas un método get para él, a menos que sea necesario para alguna funcionalidad específica.

Espero que estas sugerencias te ayuden a mejorar el encapsulamiento en tu clase Pelicula. ¡Espero haber ayudado y buenos estudios!