Saltar al contenido

Encapsulación en Java – Javatpoint

septiembre 24, 2021
capsule

Encapsulación en Java es un proceso de empaquetar código y datos juntos en una sola unidad, por ejemplo, una cápsula que se mezcla con varios medicamentos.

encapsulación en java

Podemos crear una clase completamente encapsulada en Java haciendo que todos los miembros de datos de la clase sean privados. Ahora podemos usar los métodos setter y getter para configurar y obtener los datos en él.

los Frijol Java class es el ejemplo de una clase completamente encapsulada.

Ventaja de la encapsulación en Java

Al proporcionar solo un método setter o getter, puede hacer que la clase solo lectura o solo escritura. En otras palabras, puede omitir los métodos getter o setter.

Te proporciona la control sobre los datos. Supongamos que desea establecer el valor de id que debe ser superior a 100 solamente, puede escribir la lógica dentro del método setter. Puede escribir la lógica para no almacenar los números negativos en los métodos de establecimiento.

Es una forma de lograr ocultación de datos en Java porque otra clase no podrá acceder a los datos a través de los miembros de datos privados.

La clase encapsulada es fácil de probar. Por lo tanto, es mejor para las pruebas unitarias.

Los IDE estándar ofrecen la posibilidad de generar captadores y definidores. Así es fácil y rápido de crear una clase encapsulada en Java.

Ejemplo simple de encapsulación en Java

Veamos el ejemplo simple de encapsulación que tiene un solo campo con sus métodos setter y getter.

Archivo: Student.java

// Una clase Java que es una clase completamente encapsulada. // Tiene un miembro de datos privados y métodos getter y setter. paquete com.javatpoint; public class Student {// miembro de datos privados private String name; // método getter para el nombre public String getName () {nombre de retorno; } // método de establecimiento para el nombre public void setName (String name) {this.name = name}}

Archivo: Test.java

// Una clase Java para probar la clase encapsulada. paquete com.javatpoint; class Test {public static void main (String[] args) {// creando instancia de la clase encapsulada Student s = new Student (); // establecer valor en el nombre member s.setName («vijay»); // obteniendo el valor del miembro de nombre System.out.println (s.getName ()); }}

Compile By: javac -d . Test.java
Run By: java com.javatpoint.Test

Producción:

Clase de solo lectura

// Una clase Java que solo tiene métodos getter. estudiante de clase pública {// miembro de datos privados private String college = «AKG»; // método de obtención para la universidad pública String getCollege () {return college; }}

Ahora, no puede cambiar el valor del miembro de datos de la universidad que es «AKG».

s.setCollege («KITE»); // generará un error de tiempo de compilación

Clase de solo escritura

// Una clase Java que solo tiene métodos setter. estudiante de clase pública {// miembro de datos privados privado String college; // método de obtención para la universidad pública void setCollege (String college) {this.college = college; }}

Ahora, no puede obtener el valor de la universidad, solo puede cambiar el valor del miembro de datos de la universidad.

System.out.println (s.getCollege ()); // Error de tiempo de compilación, porque no existe tal método System.out.println (s.college); // Error de tiempo de compilación, porque el miembro de datos de la universidad es privado. // Entonces, no se puede acceder desde fuera de la clase

Otro ejemplo de encapsulación en Java

Veamos otro ejemplo de encapsulación que tiene solo cuatro campos con sus métodos setter y getter.

Archivo: Account.java

// Una clase de cuenta que es una clase completamente encapsulada. // Tiene un miembro de datos privados y métodos getter y setter. class Account {// datos privados miembros private long acc_no; nombre de cadena privada, correo electrónico; cantidad de flotación privada; // métodos getter y setter públicos public long getAcc_no () {return acc_no; } public void setAcc_no (long acc_no) {this.acc_no = acc_no; } public String getName () {nombre de retorno; } public void setName (nombre de cadena) {this.name = nombre; } public String getEmail () {devolver el correo electrónico; } public void setEmail (String email) {this.email = email; } public float getAmount () {cantidad devuelta; } public void setAmount (cantidad flotante) {this.amount = amount; }}

Archivo: TestAccount.java

// Una clase Java para probar la clase encapsulada Account. public class TestEncapsulation {public static void main (String[] args) {// creando una instancia de la clase Account Account acc = new Account (); // establecer valores a través de métodos de establecimiento acc.setAcc_no (7560504000L); acc.setName («Sonoo Jaiswal»); acc.setEmail («[email protected]»); acc.setAmount (500000f); // obtener valores mediante métodos getter System.out.println (acc.getAcc_no () + «» + acc.getName () + «» + acc.getEmail () + «» + acc.getAmount ()); }}

Pruébelo ahora

Producción:

close