Hace unos días tomando un curso de programación en Java, el profesor mencionó este tema explicándolo a cabalidad y anteriormente en la universidad en clases de programación orientada a objetos, yo y los demás estudiantes de la clase realizábamos este principio pero, en realidad no sabíamos por que lo hacíamos, aunque hablo por mi pero, les aseguro que todo el curso no sabía por que lo hacíamos.
El principio del ocultamiento o la ocultación de información no es más que todas las variables de una clase sean declaradas privadas en todas las clases para que estas no sean accedidas de otra clase, esta es una definición más entendible con la que les pueda explicar.
Bueno la pregunta es ¿como hacemos para poder asignar u obtener algún valor de una variable si trabajamos orientado a objetos? bueno ahí entra lo que es poder crear unos métodos que puedan interactuar entre la variable privada y la otra clase desde la cual queremos acceder a la variable.
Con solo declarar los métodos SET y GET podemos acceder a variables privadas desde otra clase, en principio no sabía porque se usaban estos dos métodos, sabía como utilizarlos pero, nunca sabía el porque de ellos y por lo menos con este articulo espero explicar bien este concepto.
Como ejemplo práctico les mostrare como funciona esto, como lenguaje utilizare Java pero, pueden aplicarlo en cualquier lenguaje que ustedes prefieran ya que la lógica sigue siendo la misma solo cambiaría en la sintaxis del lenjuaje que ustedes decidan:
public class Cuenta
{
private double cantidad;
public void setCantidad(double valor)
{
cantidad = valor;
}
public double getCantidad()
{
return cantidad;
}
}
Si analizamos este código pueden notar que he creado una variable "cantidad" tipo double pero, la asigné privada esto quiere decir que desde otra clase no podemos acceder de manera directa si no que cree dos metodos uno SET y otro GET como pueden visualizar en el código de más arriba, ahora veremos como podemos acceder a esta variable para asignar o obtener un valor de ella.
public class Transaccion
{
public static void main(String[] args)
{
Cuenta objeto = new Cuenta();
objeto.setCantidad(300);
System.out.println("La cantidad es: " )+ objeto.getCantidad();
}
}
En el código escrito más arriba lo que se realizó simplemente es una instanciación de la clase llamada Cuenta donde se creo un objeto llamado del mismo modo y luego para poder asignar un valor a la variable cantidad se llamó el objeto más el método SET de la variable, si podemos notar para asignar el valor nunca hubo una conexión directa con la variable cantidad si no que se utilizo un mediador entre la variable y la clase Transacción que en este caso fue el método setCantidad().
Este principio se puede definir como conclusión a "MAS SEGURIDAD", pues con este principio podemos evitar que entre objetos puedan filtrase ciertos tipo de datos entre ellos ya que con la declaración de variables privadas estas así mismo permanecen y solo son accedidas desde su misma clase.

Buen artículo. ¡Gracias!
ResponderBorrar