in

Encapsulación en Java – GeeksforGeeks

gfg 200x200 min

La encapsulación se define como la agrupación de datos en una sola unidad. Es el mecanismo que une el código y los datos que manipula. Otra forma de pensar en la encapsulación es que es un escudo protector que evita que el código que se encuentra fuera de este escudo acceda a los datos.

  • Técnicamente, en la encapsulación, las variables o datos de una clase se ocultan de cualquier otra clase y solo se puede acceder a ellas a través de cualquier función miembro de su propia clase en la que se declara.
  • Al igual que en la encapsulación, los datos de una clase se ocultan de otras clases utilizando el concepto de ocultación de datos que se logra al hacer que los miembros o métodos de una clase sean privados, y la clase se expone al usuario final o al mundo sin proporcionar ningún detalle. detrás de la implementación utilizando el concepto de abstracción, por lo que también se conoce como un combinación de ocultación de datos y abstracción.
  • La encapsulación se puede lograr declarando todas las variables de la clase como privadas y escribiendo métodos públicos en la clase para establecer y obtener los valores de las variables.

Encapsulamiento

El programa para acceder a las variables de la clase EncapsulateDemo se muestra a continuación:

Java

class Encapsulate {

    

    

    

    private String geekName;

    private int geekRoll;

    private int geekAge;

    

    

    public int getAge() { return geekAge; }

    

    

    public String getName() { return geekName; }

    

    

    public int getRoll() { return geekRoll; }

    

    

    public void setAge(int newAge) { geekAge = newAge; }

    

    

    public void setName(String newName)

    {

        geekName = newName;

    }

    

    

    public void setRoll(int newRoll) { geekRoll = newRoll; }

}

public class TestEncapsulation {

    public static void main(String[] args)

    {

        Encapsulate obj = new Encapsulate();

        

        obj.setName("Harsh");

        obj.setAge(19);

        obj.setRoll(51);

        

        System.out.println("Geek's name: " + obj.getName());

        System.out.println("Geek's age: " + obj.getAge());

        System.out.println("Geek's roll: " + obj.getRoll());

        

        

        

        

    }

}

Producción
Geek's name: Harsh
Geek's age: 19
Geek's roll: 51

En el programa anterior, la clase Encapsulate se encapsula ya que las variables se declaran como privadas. Los métodos get como getAge (), getName (), getRoll () se establecen como públicos, estos métodos se utilizan para acceder a estas variables. Los métodos de establecimiento como setName (), setAge (), setRoll () también se declaran como públicos y se utilizan para establecer los valores de las variables.

Ventajas de la encapsulación:

  • Ocultación de datos: El usuario no tendrá idea de la implementación interna de la clase. No será visible para el usuario cómo la clase está almacenando valores en las variables. El usuario solo sabrá que estamos pasando los valores a un método de establecimiento y las variables se están inicializando con ese valor.
  • Mayor flexibilidad: Podemos hacer que las variables de la clase sean de solo lectura o de solo escritura según nuestro requisito. Si deseamos hacer que las variables sean de solo lectura, entonces tenemos que omitir los métodos de establecimiento como setName (), setAge (), etc.del programa anterior o si deseamos hacer que las variables sean de solo escritura, entonces tenemos que omitir los métodos get como getName (), getAge (), etc.del programa anterior
  • Reutilización: La encapsulación también mejora la reutilización y es fácil de cambiar con los nuevos requisitos.
  • Probar el código es fácil: El código encapsulado es fácil de probar para pruebas unitarias.

Este artículo es una contribución de Duro Agarwal. Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o envíe su artículo por correo electrónico a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema discutido anteriormente.

¡Atención lector! No dejes de aprender ahora. Hazte con todo lo importante Fundación Java y conceptos de colecciones con el Curso de Fundamentos de Java y Colecciones de Java a un precio asequible para los estudiantes y prepárese para la industria. Para completar su preparación desde el aprendizaje de un idioma hasta DS Algo y muchos más, consulte Curso completo de preparación para entrevistas.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

apple touch icon@2

python: ¿cómo puedo agregar nuevas claves a un diccionario?

Allosaurus sizes

Allosaurus vs Tyrannosaurus – Diferencia y comparación