En esta ocasión, hablaremos de uno de los pilares de la programación orientada a objetos: El encapsulamiento así como también se hablará de la diferencia de esta con la abstracción.
1 – ¿Qué es encapsulamiento en programación orientada a objetos?
El encapsulamiento en la programación orientada a objetos es cuando limitamos el acceso o damos un acceso restringido de una propiedad a los elementos que necesita un miembro y no a ninguno más.
El elemento más común de encapsulamiento son las clases, donde encapsulamos y englobamos tanto métodos como propiedades.
Otro ejemplo muy común de encapsulamiento son los getters y setters de las propiedades dentro de una clase. Por defecto nos dan el valor “normal” pero podemos modificarlos para que cambie.
Podemos decir que encapsulamiento es una forma de ocultación de información entre entidades, mostrándose entre ellas solo la información más necesaria.
1.1 – Modificadores de acceso
Como hemos podido comprobar, el encapsulamiento va ligado a los modificadores de acceso.
Es por eso que conviene recordarlos de todas maneras.
- Public acceso total
- Private, acceso únicamente desde la clase o struct que los contiene
- Internal, acceso desde el mismo Proyecto
- Protected desde la misma clase o desde las clases que heredan
- Protected internal, combina protected e internal y nos permite acceder desde el mismo Proyecto o de clases que la derivan.
- Private protected, que permite acceder desde la clase actual o de la que derivan de ella.
2 – Abstracción en programación orientada a objetos
Nota: no confundir con abstracción en C#
La abstracción es un concepto muy similar al de la encapsulación, con la diferencia principal de que la abstracción nos permite representar el mundo real de una forma más sencilla. Podríamos definirlo también como la forma de identificar funcionalidades necesarias sin entrar en detalle de lo que estamos haciendo.
El ejemplo más claro es cuando frenamos en el coche, para nosotros, el usuario, es únicamente pisar el freno, pero por detrás el coche realiza una gran cantidad de acciones. También imaginad que en todos los coches el conductor frena de la misma manera, independientemente de si los frenos son de disco o de tambor. Mientras que el coche realiza diferentes acciones.
Pisar el freno sería el nivel de abstracción.
3 – Diferencias entre encapsulamiento y abstracción
Para terminar con este post, a continuación mostramos unas diferencias entre encapsulamiento y abstracción.
Abstracción | Encapsulamiento |
Busca la solución en el diseño | Busca la solución en la implementación |
Únicamente información relevante | Ocultación de código para protegerlo |
Centrado en la ejecución | Centrado en ejecución |
Finalmente, recordamos que si quieres saber más de este tema, síguenos en nuestro blog, para más contenido e información, de igual manera si deseas una asesoría de orientada a objetos (POO) ¡No lo pienses más y ¡contáctanos! En ROOTHEIM podemos ayudarte, así como cualquier otro servicio que requiera tu negocio o empresa.
Referencia: https://www.netmentor.es/entrada/encapsulamiento-poo
Copiar URL