Clases y Objetos en Swift

La programación orientada a objetos en Swift se basa en la creación de clases y objetos. Las clases son plantillas que definen la estructura y comportamiento de un objeto, mientras que los objetos son instancias de esas clases que contienen datos y métodos para realizar operaciones

Contenido { }

Ejercicios { }

¿Qué es una clase en Swift?

Una clase es una plantilla o molde que define las características y el comportamiento de un objeto. En Swift, las clases se definen utilizando la palabra clave class seguida del nombre de la clase. Dentro de una clase, se pueden definir propiedades y métodos.

				
					class NombreDeLaClase {

}

				
			

Propiedades de una clase en Swift

Las propiedades de una clase son variables o constantes que se utilizan para almacenar datos. En Swift, las propiedades pueden ser de instancia o de clase

Propiedades de Instancia

Estas propiedades son variables o constantes que pertenecen a una instancia específica de una clase o estructura. En otras palabras, cada instancia de una clase puede tener su propia copia de una propiedad de instancia, con un valor único y diferente.

Las propiedades de instancia permiten almacenar y recuperar valores importantes en tu código. Por ejemplo, imagina que estás desarrollando una aplicación de redes sociales y quieres crear una clase para representar a un usuario. Puedes definir una propiedad de instancia llamada nombre para almacenar el nombre del usuario, y otra propiedad de instancia llamada edad para almacenar su edad.

Para definir una propiedad de instancia en Swift, simplemente debes declarar la propiedad dentro de la definición de la clase o estructura. Puedes definir una propiedad como variable (var) si deseas que su valor pueda cambiar, o como constante (let) si deseas que su valor sea inmutable.

Una vez que has definido una propiedad de instancia, puedes asignarle un valor específico en el momento de crear una nueva instancia de la clase o estructura, o bien puedes modificar su valor en cualquier momento durante la vida útil de la instancia.

				
					class Usuario {
    var nombre: String
    var edad: Int

    init(nombre: String, precio: Int) {
        self.nombre = nombre
        self.edad = edad
    }
}

				
			

Propiedades de Clase

Las propiedades de clase, a diferencia de las propiedades de instancia, están asociadas con la propia clase en lugar de con instancias individuales de la clase. Esto significa que todas las instancias de la clase comparten las mismas propiedades de clase.

En Swift, puedes definir una propiedad de clase usando la palabra clave «static» o «class». Por ejemplo, para definir una propiedad de clase que contenga el número total de instancias creadas de una clase, podrías hacerlo de la siguiente manera:

				
					class MyClass {
    static var numberOfInstances = 0
    init() {
        MyClass.numberOfInstances += 1
    }
}

				
			

En este ejemplo, la propiedad «numberOfInstances» es una propiedad de clase que mantiene un recuento del número total de instancias creadas de la clase «MyClass». La propiedad está definida con la palabra clave «static», lo que indica que es una propiedad de clase.

Cuando se crea una nueva instancia de la clase, se llama al método «init» de la clase, que incrementa la propiedad «numberOfInstances» en uno. Como la propiedad es una propiedad de clase, se comparte entre todas las instancias de la clase, lo que significa que cada vez que se crea una nueva instancia, el número total de instancias se incrementa en uno.

Métodos de una clase en Swift

Los métodos de una clase son funciones que se definen dentro de la clase y se utilizan para realizar tareas específicas. En Swift, los métodos pueden ser de instancia o de clase. Los métodos de instancia se llaman en un objeto particular de la clase, mientras que los métodos de clase se llaman en la clase misma.

A continuación, se presenta un ejemplo de una clase Persona que tiene un método de instancia llamado presentarse.

				
					class Persona {
    var nombre: String
    var edad: Int

    init(nombre: String, edad: Int) {
        self.nombre = nombre
        self.edad = edad
    }

    func presentarse() {
        print("Hola, mi nombre es \(nombre) y tengo \(edad) años")
    }
}
				
			

En este ejemplo, se define un método de instancia llamado presentarse que se utiliza para imprimir un mensaje que incluye el nombre y la edad de una persona.

¿Qué es un objeto en Swift?

Un objeto es una instancia de una clase. En Swift, se crea un objeto utilizando el inicializador de la clase. Los objetos tienen propiedades y métodos que se definen en la clase.

A continuación, se presenta un ejemplo de cómo crear un objeto de la clase Persona.

				
					let persona1 = Persona(nombre: "Juan", edad: 25)

				
			

En este ejemplo, se crea un objeto llamado persona1 de la clase Persona utilizando el inicializador init y se le asignan valores a las propiedades nombre y edad.

Acceder a las propiedades de un objeto en Swift

Para acceder a las propiedades de un objeto en Swift, se utiliza la sintaxis de punto .. Por ejemplo,

para acceder al valor de la propiedad nombre del objeto persona1, se utilizaría la siguiente sintaxis:

				
					print(persona1.nombre)

				
			

En este ejemplo, se imprime el valor de la propiedad nombre del objeto persona1.

Llamar a los métodos de un objeto en Swift

Para llamar a los métodos de un objeto en Swift, también se utiliza la sintaxis de punto .. Por ejemplo, para llamar al método presentarse del objeto persona1, se utilizaría la siguiente sintaxis:

				
					persona1.presentarse()

				
			

En este ejemplo, se llama al método presentarse del objeto persona1.

Conclusión

En resumen, las clases y los objetos son fundamentales en la programación orientada a objetos en Swift. Las clases se definen utilizando la palabra clave class y se utilizan para definir las características y el comportamiento de un objeto. Los objetos son instancias de una clase y tienen propiedades y métodos que se definen en la clase. Para acceder a las propiedades y métodos de un objeto, se utiliza la sintaxis de punto .. Con la comprensión de estos conceptos, puedes empezar a crear objetos y clases en Swift y comenzar a construir aplicaciones utilizando este paradigma de programación.

¡Compártelo en tus redes!

Contenido 📂

Recursos { }