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:

    1. Declara las variables de clase como private.
    2. Proporciona los métodos getter y setter de public para 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();
            
        
        }


    }