Propiedades Computadas en Swift: Uso y Ejemplos Prácticos
Clase 7 de 27 • Curso de Programación Orientada a Objetos en Swift
Contenido del curso
Tipos de Propiedades
- 5

Propiedades Almacenadas en Swift: Uso y Ejemplos Prácticos
04:49 min - 6

Propiedades Lazy en Programación: Uso y Ventajas
07:17 min - 7

Propiedades Computadas en Swift: Uso y Ejemplos Prácticos
Viendo ahora - 8

Variables de solo lectura en programación y su uso en estructuras y clases
05:14 min - 9

Implementación de Observers en Propiedades de Clases en Swift
07:18 min - 10

Variables estáticas en clases, estructuras y enumerados
09:19 min
Métodos, subíndices y herencia
- 11

Métodos en Clases y Estructuras: Creación y Uso Práctico
07:35 min - 12

Métodos Mutantes en Estructuras y Enumerados en Swift
09:05 min - 13

Métodos Estáticos y Herencia en Programación de Videojuegos
10:50 min - 14

Subíndices en Swift: Sintaxis y Aplicaciones Prácticas
09:02 min - 15

Manipulación de Matrices y Subíndices en Programación
12:41 min - 16

Herencia de Clases en Programación Orientada a Objetos
10:14 min - 17

Sobrescritura de Métodos y Propiedades en Clases Derivadas
12:12 min
Inicializadores o constructores
- 18

Inicializadores en Sweet: Creación y Uso Efectivo de Constructores
06:51 min - 19

Modificación de Constructores y Parámetros Opcionales en Swift
00:10 min - 20

Constructores Designados y de Conveniencia en Herencia de Clases
09:38 min - 21

Constructores y manejo de inicialización opcional en Swift
08:42 min - 22

Destructores en Programación: Liberación de Recursos Automática
07:13 min
Encadenamiento opcional
Conclusión
¿Qué son las computed properties y cómo se diferencian?
Las propiedades calculadas, o computed properties, son una herramienta poderosa que se utiliza para definir variables cuyo valor se calcula automáticamente mediante un algoritmo, en lugar de ser asignado directamente. A diferencia de las propiedades almacenadas o stored properties, estas no retienen un valor por sí solas. Se utilizan allí donde el valor depende de algún tipo de cálculo, basado en otras propiedades. Las computed properties permiten mantener valores dinámicamente actualizados sin la necesidad de almacenamiento redundante.
¿Cómo se declaran las computed properties?
Para declarar una computed property en Swift, se abre una llave después de declarar la variable y se definen los métodos get y, opcionalmente, set. Veamos un ejemplo para ilustrar:
struct Rectangle {
var origin: Point
var size: Size
var center: Point {
get {
let centerX = origin.x + size.width / 2
let centerY = origin.y + size.height / 2
return Point(x: centerX, y: centerY)
}
set {
origin.x = newValue.x - size.width / 2
origin.y = newValue.y - size.height / 2
}
}
}
En este ejemplo, el centro de un rectángulo se calcula en base a su origen y tamaño. El método get devolvemos las coordenadas del centro calculándolas cada vez que se accede a la propiedad center. El método set permite actualizar el origen del rectángulo al asignar un nuevo centro.
¿Cuáles son las ventajas de usar computed properties?
Las computed properties presentan varias ventajas importantes:
- Mantenimiento de consistencia de datos: Al calcular el valor sólo cuando es necesario, se asegura que está siempre actualizado y consistente.
- Reducir la redundancia: Evitan la duplicación de datos al no necesitar una variable para cada posible estado de un objeto.
- Omisión de valor inicial: No es obligatorio inicializar estas propiedades, ya que su valor se calcula bajo demanda.
- Flexibilidad: Permiten crear interfaces de objetos más intuitivas y fáciles de entender, sin exponer detalles de implementación interna.
Ejemplo práctico de uso de computed properties
Imaginemos un cuadrado con origen (0, 0) y tamaño (10 \times 10). Queremos calcular su centro y además, modificar la posición del origen cuando se actualiza el centro:
var square = Rectangle(origin: Point(x: 0, y: 0), size: Size(width: 10, height: 10))
print(square.center) // Saída: (5, 5)
square.center = Point(x: 20, y: 20)
print(square.origin) // Saída: (15, 15)
Aquí, modificamos el centro, lo que automáticamente ajustó el origen del cuadrado gracias al método set en la propiedad center.
¿Qué debemos considerar al optimizar nuestras computed properties?
Para optimizar el uso de computed properties, considera los siguientes consejos:
- Simplicidad: Mantén el código del método
getysetlo más sencillo posible; incluso podrías usar la opción de líneas simples, removiendo elreturnen Swift. - Uso de
newValue: En el métodoset, puedes omitir el nombre del nuevo valor, usandonewValuedirectamente para simplificar el código. - Estandariza operaciones matemáticas: Concentra cálculos dentro de las propiedades para evitar repetición y minimizar el uso de variables temporales.
Aplicar estos principios te permitirá crear soluciones limpias y eficientes, ayudando a que tu código Swift sea más manejable y menos propenso a errores. ¡Sigue explorando, y verás cómo estas herramientas mejoran el modelado de tus datos de manera dinámica y precisa!