POO: Encapsulamiento


¿Qué es el encapsulamiento en la programación orientada a objetos?



El encapsulamiento hace referencia a la privacidad que se le otorga a una variable dentro de un programa/proyecto.

Esta se subdivide en 4 modificadores de acceso en total:


- Private

- Protected

- Default o Friendly

- Public


Estos modificadores de acceso cumplen diferentes funciones y su elección de uso depende del proyecto que se quiera realiza. Inclusive dentro de un mismo proyecto es común usar mas de un tipo de modificador para ajustar el nivel de acceso de clases, métodos y atributos según sea requiera. Cabe resaltar que algunos lenguajes que están orientados a objetos, como Python y Kotlin, no presentan todos estos tipos de privacidad, en cambio lenguajes como Java si los presenta. A continuación, presento un más información de estos modificadores de acceso:


1. Privado (Private)

Este modificador de acceso restringe el uso de campos( atributos) y métodos exclusivamente a la propia clase, impidiendo el acceso desde cualquier otra clase, incluso dentro del mismo paquete. Este tipo de encapsulamiento es el mas recomendado al momento de realizar un código en base al paradigma de la programación Orientada a Objetos.
Las características principales de este modificador de acceso son las siguientes:
  • Mayor seguridad
  • Mantenibilidad
  • Reutilización


2.Protegido (Protected)

Este modificador de acceso denota que los campos y métodos de la clase no son accesibles fuera de esa misma clase, sirve para mas para el entorno de heredad y modificar, lo cual ayuda a no exponer detalles internos del proyecto al mundo exterior.

En resumen, para esto sirve este tipo de privacidad:  

  • Organizar tu código
  • Reutilizar el código
  • Mejorar la seguridad

            

    3.Predeterminado (Friendly o Default)

      

    Este modificador de acceso, como su propio nombre lo indica es el predefinido, dado que cuando no especificamos que tipo de modificador vamos a usar, este será el usado. A pesar de esto, no es el mas usado en proyectos debido a que ni es tan privado ni tan publico. Aquí presento algunas ventajas:
    • Mejor colaboración dentro del mismo paquete
    • Control de acceso moderado
    • Facilita la organización lógica
    Como mencione anteriormente, este tipo de modificadores dependen bastante del paquete, o sea no presenta "Alta cohesión, bajo acoplamiento", que es uno de los pilares de la programación orientada a objetos.

     
    4. Público (Public) 

    Este modificador de acceso es el mas permisivo de todos. Básicamente el modificador de acceso public es lo opuesto a private, permite que los campos y métodos sean accesibles dentro del mismo paquete como desde otros paquetes, con referencia con el que se encuentran. Este tipo de acceso se utiliza para tener una mayor libertad de cambiar el comportamiento de una clase, método o atributo desde cualquier otro lugar del programa.


    Algunas de las ventajas de este modificador de acceso:

    • Facilidad de uso
    • Acceso global

     

    Aquí un resumen de los modificadores de acceso y su visibilidad:



    Visibilidad

                

    BENEFICIOS DEL ENCAPSULAMIENTO

    En pocas palabras, los beneficios del encapsulamiento se pueden resumir en las siguientes características clave:
    • Seguridad de datos
    • Control de acceso
    • Abstracción
    • Flexibilidad
    • Mantenibilidad
    • Reutilización de código

    EJEMPLO

    Uno de los ejemplos más claros de la Programación Orientada a Objetos en el ámbito de los videojuegos es Minecraft. Este juego utiliza el encapsulamiento para gestionar objetos como bloques, herramientas, y entidades (como jugadores y criaturas) de manera organizada. Cada objeto tiene sus propios atributos y métodos, lo cual facilita el desarrollo, el mantenimiento y la expansión del juego. Aquí tienes un video explicativo que habla mas en cómo Minecraft aplica estos principios de la POO 🤔:






    Si se desea conocer mas acerca de este tema, click aquí, para ver información mas detallada.












    Comentarios

    1. Su blog presenta muy buena distribución de información sobre los modificadores de acceso que tiene el encapsulamiento y explica muy bien sobre estos, sin embargo aunque en el video final explica mas detalladamente podrían añadir un grafico o imagen que ayude a comprender mejor de como se realiza el acceso en cada uno de estos modificadores

      ResponderEliminar

    Publicar un comentario

    Entradas populares