Encapsulamiento
Perfilado de sección
-
Encapsulación Java
La encapsulación es un principio fundamental de la programación orientada a objetos (POO) en Java que consiste en agrupar los datos (variables) y los métodos (funciones) que operan sobre los datos en una sola unidad, conocida como clase. Restringe el acceso directo a algunos de los componentes de un objeto y puede evitar la modificación accidental de datos.
Finalidad de la encapsulación
- Ocultar datos: La encapsulación permite ocultar al exterior la representación interna de un objeto. Sólo se exponen los detalles necesarios a través de una interfaz pública.
- Mayor flexibilidad: Al controlar el acceso a los campos de una clase, puedes cambiar la implementación interna sin afectar al código externo que utiliza la clase.
- Mantenimiento mejorado: La encapsulación ayuda a mantener el código manteniendo los campos privados y proporcionando métodos getter y setter públicos para modificar y ver los campos.
Implementar la encapsulación en Java
Para lograr la encapsulación en Java:
- Declara las variables de clase como
private. - Proporciona los métodos getter y setter de
publicpara acceder y actualizar el valor de una variable privada.
tomado de : https://www.datacamp.com/es/doc/java/encapsulation
public class MascotVirtual {
private String nombre;
private int energia;
private int hambre;
public MascotVirtual(String nombre){
this.nombre=nombre;
this.energia=100;
this.hambre=0;
}
public String getNombre(){ return nombre; }
public int getEnergia() {return energia; }
public int getHambre() {return hambre;}
public void jugar() {
if(energia<20) {
System.out.println(" Duerme "+nombre+" Esta muy Cansada para jugar Necesita Dormir ");
} else {
energia -=20;
hambre+=15;
if(hambre>100)hambre=100;
System.out.println("--Has jugado con "+nombre+" Energia, bajo, hambre subio--.");
}
mostrarEstado();
}
public void comer() {
if(hambre==0){
System.out.println("-- Pedrigri "+nombre+" No tiene hambre en este momento");
}else {
hambre-=30;
if(hambre<0)hambre=0;
System.out.println(" "+nombre+" ha comido deliciosamente ");
}
mostrarEstado();
}
public void dormir(){
energia=100;
hambre+=20;
if(hambre>100)hambre=100;
System.out.println(" "+nombre+" ha dormido y recuperado toda su energia");
mostrarEstado();
}private void mostrarEstado(){
System.out.println("-> [ Estado de "+nombre+" ]Energia: "+energia+" % Hambre: "+hambre+" % ");
}
----------------------------------------------------------------------------------------------------------------------------
public class MascotaVirtual {
public static void main(String[] args) {
System.out.println(" ADOPCION DE MASCOTA VIRTUAL ");
MascotVirtual miHanters=new MascotVirtual("Keller");
System.out.println("---- JUGANDO HASTA EL CANASANCIO------");
for(int i=1;i<=6;i++) {
System.out.println(" Accion "+i+":");
miHanters.jugar();
}
System.out.println(" INTENDADO DARLE DE COMER ");
miHanters.comer();
System.out.println(" --- MANDANDO A DORMIR --");
miHanters.dormir();
}
}