Sunteți pe pagina 1din 4

UNIVERSIDAD TECNICA DE AMBATO

FACULTAD DE INGENIERIA EN SISTEMAS ELECTRONICA E


INDUSTRIAL

NOMBRE:

KELL BAÑO

CURSO:

2 “B” Electrónica

FECHA:

30/11/2017

ASIGNATURA:

Programación II

PROFESOR:

Ing. Cesar Granizo


ENCAPSULAMIENTO EN JAVA

Java, como un lenguaje orientado a objetos, implementa la encapsulación. Este concepto


consiste en la ocultación del estado o de los datos miembro de un objeto, de forma que sólo
es posible modificar los mismos mediante los métodos definidos para dicho objeto.
Cada objeto está aislado del exterior, de forma que la aplicación es un conjunto de objetos
que colaboran entre sí mediante el paso de mensajes invocando sus operaciones o métodos.
De esta forma, los detalles de implementación permanecen "ocultos" a las personas que
usan las clases, evitando así modificaciones o accesos indebidos a los datos que almacenan
las clases.
Además, el usuario de la clase no se tiene que preocupar de cómo están implementados los
métodos y propiedades, concentrándose sólo en cómo debe usarlos.
La encapsulación es una de las principales ventajas que proporciona la programación
orientada a objetos. [1]

Imaginemos que se crea una clase, una docena de programadores tienen acceso a dicha
clase y la utilizan a discreción, posteriormente dicha clase comienza a comportarse de una
manera inesperada debido a que los valores que algunas variables han tomado no fueron
anticipados y todo comienza a desmoronarse. Para corregir el problema se crea una versión
más nueva de dicha clase y listo.

Bueno, a esto le llamamos flexibilidad y capacidad de mantenimiento, ambas son


características y beneficios de la programación Orientada a Objetos (OO) pero para que una
clase pueda cumplir dichas funciones los programadores debemos de hacer algo.
Imaginemos que creamos una clase con variables de instancia públicas a las cuales
podemos acceder sin problemas desde fuera de la misma clase...
Analizando el código anterior podemos darnos cuenta de que las variables enteras tipo y
clase son públicas y pueden ser accedidas directamente a través de una instancia de la clase
MiClase, esto compila sin ningún problema, digamos que es 'legal', sin embargo, ¿qué pasa
si ingresamos un valor que no se supone debe de tener una variable (en este caso el -5 que
le asignamos a tipo)?, simplemente no hay nada que nos detenga para hacerlo. La única
manera de proteger el código es escribiendo un método que nos permita regular los valores
que cada variable puede tener y escondiendo las variables para que no se pueda acceder a
ellas de manera directa, esto es el principio básico de encapsulamiento.

Si se desea flexibilidad, buen mantenimiento y extensibilidad, nuestro diseño en el código


debe de incluir encapsulamiento, para ello debemos de hacer lo siguiente:

1. Mantener las variables de instancia protegidas (puede ser con un modificador de


acceso, p.ej., private).
2. Hacer métodos de acceso públicos para forzar al acceso a las variables por medio de
dichos métodos en lugar de acceder directamente.
3. Utilizar las convenciones de código para los nombres de los métodos, p. ej., set y
get.

El ejemplo anterior modificado para un buen encapsulamiento quedaría así:


Si nos fijamos un poquito, en el método setTipo() no existen validaciones para prevenir que
un valor no válido sea asignado a la variable, sin embargo, el proveer de un método de este
tipo desde el diseño inicial de la aplicación nos permite posteriormente modificar el
comportamiento de la misma sin afectar los métodos utilizados, tal vez en un futuro se
desee que dicha variable solamente pueda tener uno entre un rango de valores y se podrán
aplicar posteriormente los cambios sin que haya repercusiones negativas. [1]

BIBLIOGRAFIA.

[1] Sites_Google., «Conceptos de Java,» 2016. [En línea]. Available:


https://sites.google.com/site/conceptosdejava/home/encapsulamiento-en-java. [Último
acceso: 30 Noviembre 2017].

[2] A. Roldan, «CiberAula: Programacion Orientada a Objetos,» 2016-2017. [En línea]. Available:
http://www.ciberaula.com/articulo/encapsulacion_java. [Último acceso: 30 Noviembre 2017].

S-ar putea să vă placă și