Icono play
Java
Encapsulación

La encapsulación es uno de los conceptos fundamentales en Java. Está estrechamente ligada a la programación orientada a objetos (POO). La encapsulación permite integrar los datos y los métodos que actúan sobre estos en una clase definida por la persona que codifica. 

Una vez que se ha encapsulado un atributo, únicamente los métodos de la clase donde este se encuentre, serán los que tengan acceso a él para modificarlo o interactuar en cualquier forma.

Ventajas de usar la encapsulación en Java

Desarrollar cualquier proyecto en Java haciendo uso de la encapsulación ofrece estas ventajas:

Control

Al limitar el acceso a algunos aspectos del código que se está desarrollando, se podrá tener un mejor control de su funcionamiento, impidiendo que puedan ser modificados por accidente.

Eficiencia

Programar con encapsulación le brinda agilidad al tiempo de desarrollo, puesto que buena parte de los entornos de desarrollo integrado (IDE) disponibles, cuentan con una característica que permite implementar los métodos de lectura y escritura (getter y setter) con unas pocas instrucciones.

Flexibilidad

La encapsulación reduce el riesgo de afectar el desarrollo de una aplicación al hacer cambios en el código, puesto que estos pueden implementarse en los módulos sin que eso afecte al programa principal.

Sintaxis de una encapsulación en Java

Para que la encapsulación en Java funcione adecuadamente debe construirse siguiendo la siguiente sintaxis.

modificadordeacceso class nombredelaclase{

private tipodedato nombre;

Métodos

}

Es importante tomar en cuenta que la encapsulación se produce gracias al modificador private y que el acceso y manipulación de estos datos que están encapsulados se hará desde los métodos setter y getter.

Ahora bien, la mejor forma de ver cómo funciona este concepto de la encapsulación en Java, es revisando ejemplos y poniendo en práctica lo aprendido, hasta lograr manejar el tema.

Ejemplo de una encapsulación en Java

En primer lugar, vamos a crear una clase ‘Trabajador’, que solo contendrá dos atributos, estos tendrán el modificador de acceso private para crear la encapsulación. Luego, añadiremos los métodos necesarios para poder acceder a esas variables desde el programa principal.

public class Trabajador {

    //declaramos atributos private con su respectivo tipo y nombre
    private String nombre;
    private int salario;

    /*creamos un método set que permitirá recibir
    el nombre del trabajador*/
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    /*creamos un método get que mostrará el 
    nombre que recibamos con el método anterior*/
    public String getNombre() {
        return nombre;
    }

    /*creamos un método set que recibirá 
    el salario del trabajador*/
    public void setSalario(int salario) {
        this.salario = salario;
    }

    /*creamos un método get que mostrará el 
    salario que recibamos con el método anterior*/
    public int getSalario() {
        return salario;
    }
}

Ahora, desde la clase principal, procedemos a crear un objeto de la clase Trabajador y le damos los atributos necesarios a través de los métodos set y get que creamos en la clase codificada anteriormente.

public class Main {

    public static void main(String[] args) {

        //creamos un objeto de clase 'Trabajador'
        Trabajador trabajador1 = new Trabajador();

        /*usamos los métodos set para dar nombre
         *y salario al objeto que hemos creado*/
        trabajador1.setNombre("Amanda Rosas");
        trabajador1.setSalario(800);

        /*usamos los métodos get para mostrar el nombre
         *y salario del objeto que hemos creado*/
        System.out.println("NOMBRE: " + trabajador1.getNombre());
        System.out.println("SALARIO: " + trabajador1.getSalario());
    }
}

Lo ideal es hacer ejercicios donde se aplique la encapsulación en Java hasta que la codificación resulte natural y no suponga esfuerzo alguno.

¿Todavía no te has apuntado a nuestro Bootcamp?
Tenemos muchos cursos para ofrecerte y ¡TOTALMENTE GRATIS! Estos son algunos de ellos: