Los objetos son entidades que existen en el tiempo; por ello deben ser creados, instanciados o inicializados (como se hace en el lenguaje de programación Swift). La operación de crear objetos se hace normalmente a través de otros objetos usando métodos especiales llamados constructores.
La operación de creación de un objeto se ejecutará implícitamente por el compilador o explícitamente por el programador, mediante la invocación del citado método constructor del objeto. Una vez que creamos los objetos en memoria principal o RAM, estos va a perdurar hasta la finalización de la ejecución del programa o hasta la invocación de otros métodos especiales llamados destructores de los que hablaremos en otro artículo.
Crear objetos en Swift con el inicializador por defecto
Para crear objetos, el nuevo lenguaje Swift de Apple proporciona un inicializador (o constructor) por defecto en cualquier estructura o clase base que proporciona valores por defecto para todas sus propiedades (o atributos). Este método simplemente crea una nueva instancia de una clase con todos sus propiedades establecidas a sus valores predeterminados definidos por el propio programador.
En el siguiente ejemplo de cómo crear objetos en el lenguaje Swift, se define una clase llamada Producto que encapsula el nombre, la cantidad y el estado de compra de un artículo concreto en una lista de la compra cualquiera:
class Producto {
var nombre: String?
var cantidad = 1
var comprado = false
}
var elementoCesta = Producto()
Debido a que todas las propiedades de la clase Producto tienen valores por defecto definidos, y que es una clase base sin superclase (o clase padre), al crear el objeto elementoCesta dichas propiedades van a recibir, de forma automática por el inicializador de la clase, sus valores por defecto cuando se crea una nueva instancia.
Si os fijáis en el tipo de dato de la propiedad nombre es de tipo optional String por lo que recibirá automáticamente el valor cero a pesar de que éste no está especificado en el código. Podéis obtener más información sobre tipos de datos opcionales leyendo mi artículo Usando los tipos de datos opcionales en Swift.
Este ejemplo utiliza el inicializador por defecto de la clase Producto para crear una nueva instancia y asigna esa nueva instancia a una variable llamada elementoCesta.
Hasta aquí hemos visto como crear objetos en Swift usando el constructor que trae por defecto cada una de las clases base. Estaos atentos al blog porque en otros artículos hablaremos con más detalle de las clases y de cómo usar inicializadores personalizados aprovechando la herencia de clases. Espero que os haya gustado. Nos leemos en el próximo!
Adiós, os!