7.3. Clases y objetos de Python: modificadores de acceso y encapsulación

Página 39

En la programación orientada a objetos (OOP) en Python, las clases y los objetos juegan un papel crucial. Las clases son como un plano o plano que define lo que debe contener un objeto, mientras que los objetos son instancias de una clase, que contiene variables y métodos definidos por la clase. En este capítulo, profundizaremos en un aspecto importante de la programación orientada a objetos en Python: encapsulación y modificadores de acceso.

7.3.1 Encapsulación

La encapsulación es uno de los cuatro conceptos fundamentales de la programación orientada a objetos. Se refiere a la agrupación de datos y los métodos que manipulan esos datos dentro de una sola unidad, que es la clase. En otras palabras, la encapsulación es una forma de proteger los datos para que no se pueda acceder directamente a ellos.

En Python, la encapsulación se logra utilizando métodos y variables privados y protegidos. Una variable privada está precedida por dos guiones bajos (__), mientras que una variable protegida está precedida por un único guión bajo (_). A continuación se muestra un ejemplo de cómo se implementa la encapsulación en Python:

coche de clase:
    def __init__(yo):
        self.__precio = 20000

    def vender(yo):
        print("Precio de venta: ", self.__precio)

coche = Coche()
auto.vender()

En este ejemplo, la variable __price es privada, por lo que no se puede acceder a ella directamente desde fuera de la clase. En cambio, se accede a él a través del método sell().

7.3.2 Modificadores de acceso

Los modificadores de acceso se utilizan en programación orientada a objetos para definir el alcance de una variable, método o clase. En Python, hay tres tipos de modificadores de acceso: público, privado y protegido.

Se puede acceder a los miembros públicos (variables, métodos, etc.) desde cualquier parte del programa. Todos los miembros de una clase son públicos de forma predeterminada en Python.

Solo se puede acceder a los miembros privados dentro de su propia clase. Se definen añadiendo dos guiones bajos antes del nombre del miembro.

Los miembros protegidos son similares a los miembros privados, pero son accesibles dentro de la clase y sus subclases. Se definen añadiendo un guión bajo antes del nombre del miembro.

coche de clase:
    def __init__(yo):
        self._speed = 60 # miembro protegido
        self.__price = 20000 # miembro privado

En este ejemplo, _speed es un miembro protegido y __price es un miembro privado.

En Python, los modificadores de acceso son más una convención que una regla estricta y rápida. Todavía es posible acceder directamente a miembros privados y protegidos, aunque esto se considera una mala práctica.

Para concluir, la encapsulación y los modificadores de acceso son herramientas poderosas en programación orientada a objetos que ayudan a mantener la integridad de los datos y hacen que el código sea más seguro y fácil de mantener. Son una parte esencial en la construcción de sistemas robustos y eficientes con Python y Django.

Esperamos que este capítulo le haya brindado una comprensión clara de la encapsulación y los modificadores de acceso en Python. En el próximo capítulo, exploraremos conceptos más avanzados de programación orientada a objetos en Python.

Ahora responde el ejercicio sobre el contenido:

¿Cuál es el papel de la encapsulación en la programación orientada a objetos en Python y cómo se implementa?

¡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:

407.4. Clases y objetos en Python: herencia y polimorfismo

¡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.