Métodos de instancia en Swift con self
Clase 11 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:48 min - 6

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

Propiedades Computadas en Swift: Uso y Ejemplos Prácticos
10:30 min - 8

Computed properties de solo lectura en Swift
05:14 min - 9

Observers en Swift: willSet y didSet
07:18 min - 10

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

Métodos de instancia en Swift con self
Viendo ahora - 12

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

Métodos de clase en Swift: static vs class
10:50 min - 14

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

Manipulación de Matrices y Subíndices en Programación
12:27 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:11 min
Inicializadores o constructores
- 18

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

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

Constructores Designados y de Conveniencia en Herencia de Clases
09:37 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:12 min
Encadenamiento opcional
Conclusión
Comprende con claridad cómo funcionan los métodos en Swift: son funciones dentro de una class o struct, se invocan con la sintaxis de punto y pueden ser de instancia o de clase usando static. Además, evita errores comunes usando self para referirte a las propiedades correctas.
¿Qué son los métodos y cómo se clasifican en Swift?
Los métodos son funciones asociadas a una class o struct. Si no llevan static, son métodos de instancia y requieren un objeto. Con static, los invoca la clase directamente.
- Métodos de instancia: actúan sobre una instancia concreta.
- Métodos de clase (static): los invoca la clase, no el objeto.
- Sintaxis de punto: se usa para llamar a métodos y acceder a propiedades.
¿Cómo se declaran dentro de clases o estructuras?
Dentro de una class o struct, se usan funciones con func. Ejemplo con una clase Counter que gestiona un contador count y expone métodos de instancia: increment, increment(by:) y reset.
class Counter { var count = 0 func increment() { self.count += 1 } func increment(by amount: Int) { self.count += amount } func reset() { self.count = 0 } }
¿Cómo se invocan con la sintaxis de punto?
Necesitas una instancia para llamar a métodos de instancia.
let counter = Counter() counter.increment() // count = 1 counter.increment(by: 8) // count = 9 counter.reset() // count = 0
- Importante: los métodos de instancia no usan static.
- Clave SEO: métodos de instancia en Swift, clases y estructuras.
¿Cómo usar self para evitar ambigüedad con propiedades y parámetros?
Cuando una variable local o un parámetro enmascara (shadowing) una propiedad con el mismo nombre, usa self.propiedad para referirte de forma explícita a la propiedad de la instancia. Esto previene errores y mejora la legibilidad.
- self: indica “de mí mismo”, apunta a la instancia actual.
- Evita confusiones entre variables locales y properties de la clase o estructura.
- Buena práctica: usar
self.al acceder a propiedades dentro de métodos.
¿Cómo se aplica en estructuras con Point?
Ejemplo con una struct Point que responde si el punto está a la derecha de un valor dado usando el método isToTheRightOf.
struct Point { var x: Double = 0.0 var y: Double = 0.0 func isToTheRightOf(x value: Double) -> Bool { return self.x > value } } let somePoint = Point(x: 4, y: 5) somePoint.isToTheRightOf(x: 1) // true somePoint.isToTheRightOf(x: 54) // false
self.xse refiere a la propiedadxdel punto.- El parámetro
valuerepresenta el argumento del método. - Palabras clave: struct en Swift, métodos en estructuras, comparaciones booleanas.
¿Qué habilidades y conceptos consolidar a partir de estos ejemplos?
Domina lo esencial para escribir código claro y seguro en Swift.
- Diferenciar métodos de instancia y de clase con static.
- Invocar con sintaxis de punto sobre instancias u objetos.
- Usar self para referenciar propiedades y evitar enmascaramiento.
- Modificar estado interno mediante métodos como increment y reset en Counter.
- Hacer consultas lógicas con métodos como isToTheRightOf en Point.
¿Ya añadiste un método a alguna de tus structs o classes anteriores? Cuéntame en comentarios qué operación implementaste y por qué la elegiste.