6.4. Programación orientada a objetos en Python: encapsulación en Python

Página 23

La programación orientada a objetos (POO) es un paradigma de programación que ofrece un medio para estructurar un programa de software en torno a objetos y datos, en lugar de funciones y lógica. Un objeto es una cosa o concepto que se puede definir claramente. En POO, cada objeto es una instancia de una clase. Python es un lenguaje de programación que admite programación orientada a objetos y una de las principales características de la programación orientada a objetos es la encapsulación.

6.4. Programación orientada a objetos en Python: encapsulación en Python

La encapsulación es una de las principales características de la programación orientada a objetos. Se refiere a la práctica de ocultar los detalles internos de cómo funciona un objeto y exponer sólo las interfaces a través de las cuales se puede utilizar ese objeto. En otras palabras, la encapsulación es una forma de ocultar los detalles de implementación de un objeto y exponer solo los métodos y propiedades necesarios para interactuar con ese objeto.

En Python, la encapsulación se realiza utilizando métodos y variables privados y protegidos. Una variable privada es una variable a la que no se puede acceder ni modificar directamente fuera de la clase donde está definida. Una variable protegida es similar a una variable privada, pero se puede acceder a ella y modificarla en subclases.

Para declarar una variable como privada en Python, anteponemos el nombre de la variable con dos guiones bajos (__). Por ejemplo, __nombre_variable. Para declarar una variable como protegida, anteponemos el nombre de la variable con un guión bajo (_). Por ejemplo, _nombre_variable.

La encapsulación en Python no es tan estricta como en otros lenguajes de programación orientados a objetos, como Java o C++. En Python, es más una convención que una regla estricta. Sin embargo, es una buena práctica seguir esta convención para que el código sea más fácil de entender y mantener.

Consideremos el siguiente ejemplo de encapsulación en Python:

clase EjemploEncapsulación:
    def __init__(yo):
        self.__private_variable = "Soy una variable privada"
        self._variable_protected = "Soy una variable protegida"

    def get_private_variable(yo):
        devolver self.__private_variable

    def get_protected_variable(yo):
        devolver self._protected_variable

En este ejemplo, creamos una clase llamada EncapsulationExample. Dentro de esta clase, definimos dos variables: una variable privada (__private_variable) y una variable protegida (_protected_variable). También definimos dos métodos para obtener los valores de estas variables.

Si intentamos acceder a la variable privada directamente fuera de la clase, obtendremos un error. Sin embargo, podemos acceder al valor de la variable privada utilizando el método get_private_variable(). Asimismo, aunque podemos acceder a la variable protegida directamente fuera de la clase, es una buena práctica acceder a ella utilizando el método get_protected_variable().

La encapsulación en Python nos ayuda a hacer que nuestro código sea más seguro y más fácil de mantener. Nos permite ocultar los detalles de implementación de un objeto y exponer solo las interfaces necesarias para interactuar con ese objeto. Esto hace que el código sea más fácil de entender y menos propenso a errores.

Ahora responde el ejercicio sobre el contenido:

¿Qué es la encapsulación en programación orientada a objetos y cómo se implementa en Python?

¡Tienes razón! Felicitaciones, ahora pasa a la página siguiente.

¡Tú error! Inténtalo de nuevo.

Siguiente página del libro electrónico gratuito:

246.5. Programación orientada a objetos en Python: métodos especiales en Python

¡Obtén tu certificado para este curso gratis! descargando la aplicación Cursa y leyendo el libro electrónico allí. ¡Disponible en Google Play o App Store!

Disponible en Google Play Disponible en App Store

+ 6,5 millones
estudiantes

Certificado gratuito y
válido con código QR

48 mil ejercicios
gratis

Calificación de 4.8/5
en tiendas de aplicaciones

Cursos gratuitos de
vídeo, audio y texto.