Este es el primer vídeo de: 3. Métodos, subíndices y herencia.
Recursos
Resumen
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.