El encapsulamiento es el principio de la programación orientada a objetos que consiste en proteger los atributos de una clase haciéndolos privados y permitiendo su acceso solo mediante métodos públicos controlados.
Principal.java
import com.aluracursos.screematch.modelos.Pelicula;
public class Principal {
public static void main(String[] args) {
Pelicula miPelicula = new Pelicula();
miPelicula.setNombre("El señor de los anillos");
miPelicula.setFechaDeLanzamiento(2000);
miPelicula.setDuracionEnMinutos(140);
miPelicula.setIncluidoEnElPlan(true);
miPelicula.muestraFichaTecnica();
miPelicula.evalua(10);
miPelicula.evalua(10);
miPelicula.evalua(7.8);
System.out.println("Media de evaluaciones de la película: " + miPelicula.calculaMedia());
}
}
Pelicula.java
package com.aluracursos.screematch.modelos;
public class Pelicula {
private String nombre;
private int fechaDeLanzamiento;
private int duracionEnMinutos;
private boolean incluidoEnElPlan;
private double sumaDeLasEvaluaciones;
private int totalDelasEvaluaciones;
public String getNombre() {
return nombre;
}
public int getFechaDeLanzamiento() {
return fechaDeLanzamiento;
}
public int getDuracionEnMinutos() {
return duracionEnMinutos;
}
public boolean isIncluidoEnElPlan() {
return incluidoEnElPlan;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public void setFechaDeLanzamiento(int fechaDeLanzamiento) {
this.fechaDeLanzamiento = fechaDeLanzamiento;
}
public void setDuracionEnMinutos(int duracionEnMinutos) {
this.duracionEnMinutos = duracionEnMinutos;
}
public void setIncluidoEnElPlan(boolean incluidoEnElPlan) {
this.incluidoEnElPlan = incluidoEnElPlan;
}
public int getTotalDelasEvaluaciones() {
return totalDelasEvaluaciones;
}
public void muestraFichaTecnica() {
System.out.println("El nombre de la película es: " + nombre);
System.out.println("Su fecha de lanzamiento es: " + fechaDeLanzamiento);
System.out.println("Duración en minutos: " + getDuracionEnMinutos());
}
public void evalua(double nota) {
sumaDeLasEvaluaciones += nota;
totalDelasEvaluaciones++;
}
public double calculaMedia() {
return sumaDeLasEvaluaciones / totalDelasEvaluaciones;
}
}