Variables de solo lectura en programación y su uso en estructuras y clases

Clase 8 de 27Curso de Programación Orientada a Objetos en Swift

Resumen

¿Qué son las variables de solo lectura?

Las variables de solo lectura son un tipo especial de propiedad computada que permite obtener un valor pero no modificarlo. Imagina que están diseñadas para proteger ciertos datos críticos en tu estructura o clase, donde el cálculo o uso de un valor debe mantenerse constante. Un ejemplo clásico es el cálculo del volumen de un cubo a partir de sus dimensiones.

¿Cómo se implementan las propiedades computadas de solo lectura?

Para implementar una Computer Property de solo lectura en Swift, no es necesario indicar explícitamente las palabras get o set dentro de la propiedad. Simplemente calcula y devuelve el valor, asegurando que la propiedad sea consultable pero inmodificable, protegiendo así la integridad de los datos. Observa cómo definimos una estructura para un cubo y calculamos su volumen:

struct Cubo {
    var anchura: Double = 0.0
    var altura: Double = 0.0
    var profundidad: Double = 0.0

    var volumen: Double {
        return anchura * altura * profundidad
    }
}

let cubo = Cubo(anchura: 4, altura: 5, profundidad: 2)
print(cubo.volumen) // Output: 40

¿Qué sucede si intento modificar una propiedad de solo lectura?

Swift protege las propiedades de solo lectura impidiendo que se asignen nuevos valores. Si intentas modificar una propiedad de solo lectura, el compilador señalará un error. Esto es porque dichas propiedades están diseñadas para mantenerse inalteradas, asegurando que el cálculo o el uso del valor corresponda siempre a una lógica específica y controlada únicamente por el propietario de la clase o estructura.

// Intento incorrecto de asignación
// cubo.volumen = 57
// Error: la propiedad `volumen` es de solo lectura

¿En qué situaciones son útiles las variables de solo lectura?

Las variables de solo lectura son especialmente valiosas cuando:

  • Quieres proteger un cálculo crítico derivado de otros valores.
  • Deseas evitar que un programa externo altera propiedades críticas de una estructura o clase.
  • Buscas claridad y precisión, calculando propiedades derivadas sin permitir cambios manuales inapropiados.

Ejercicios y prácticas recomendadas

Te recomendamos explorar cómo podrías crear tus propias estructuras o clases incorporando propiedades computadas. ¿Qué tal si defines una estructura para un saludo que varíe según el género, la persona y el idioma? Usa las propiedades computadas para hacer que tu código sea más robusto y fácil de mantener.

Intenta sintetizar los conceptos aquí tratados al crear una clase o estructura con propiedades computadas de solo lectura en Swift, y comparte tus ejercicios en el foro del curso para retroalimentación y mejoras continuas. ¡Ánimo y sigue desarrollando tus habilidades de programación!