0Pricing
Swift Academy · Lección

Herencia, overriding y final

Cree una clase base, amplíela mediante herencia, haga override de métodos y propiedades, llame a super y bloquee el comportamiento con final .

Herencia, overriding y final es una lección gratuita de Swift Academy en CoddyKit. Esta es la lección 2 de 3. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Swift Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Swift Academy incluye 3 lecciones en total.

Descripción general

Las clases de Swift admiten herencia. Puede override el comportamiento y llamar a super. Use final para impedir cambios posteriores.

Clase base

Cree una clase base con un método de instancia que las subclases puedan sobrescribir.

class Animal {
    var name: String
    init(name: String) { self.name = name }
    func speak() -> String { "..." }     // to be overridden
}
let a = Animal(name: "Thing")
print(a.speak())

Sobrescribir un método

Use la palabra clave override al proporcionar una nueva implementación en una subclase.

class Dog: Animal {
    override func speak() -> String { "woof" }
}
let d = Dog(name: "Rex")
print(d.speak())  // "woof"

Llamada a super

Llame a super para reutilizar el comportamiento de la clase base y ampliarlo en la subclase.

class Cat: Animal {
    override func speak() -> String {
        let base = super.speak()
        return base + " meow"
    }
}
print(Cat(name: "Mimi").speak())  // "... meow"

Override y final

Sobrescriba propiedades y métodos. Use final en una clase o miembro para impedir más herencia o sobrescrituras.

class Vehicle {
    var description: String { "vehicle" }        // computed property
    func drive() { print("move") }
}
class Car: Vehicle {
    override var description: String { "car" }   // override property
    override func drive() { print("vroom") }
}
final class ElectricCar: Car {                   // cannot be subclassed
    final override func drive() { print("zzzz") } // cannot be overridden further
}
let e = ElectricCar()
print(e.description)
e.drive()

Notas y consejos

Notas:

  • Prefiera la composición a las jerarquías profundas.
  • Marque las clases o los miembros como final salvo que pretenda que se amplíen mediante subclases.
  • Use siempre override al reemplazar el comportamiento de la clase base.

Palabra clave final

Comprobación rápida: ¿Qué palabra clave impide la herencia o las sobrescrituras?

Resumen

Resumen: Defina una clase base, sobrescriba métodos y propiedades con override en las subclases, llame a super para reutilizar el trabajo y marque los tipos o miembros como final para fijar su comportamiento.

Preguntas frecuentes

¿La lección «Herencia, overriding y final» es gratis?

Sí — el texto completo de «Herencia, overriding y final» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Swift Academy, actualiza a CoddyKit PRO. El curso de Swift Academy incluye 3 lecciones en total.

¿Qué aprenderé en «Herencia, overriding y final»?

Cree una clase base, amplíela mediante herencia, haga override de métodos y propiedades, llame a super y bloquee el comportamiento con final . Practicas Swift Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Swift Academy?

No se requiere experiencia previa. Swift Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 3.

¿Cuánto tiempo toma la lección «Herencia, overriding y final»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Swift Academy?

Sí. Cada lección de Swift Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Inicializador memberwise y métodos mutating
  2. Herencia, overriding y final
  3. Control de acceso (public/internal/fileprivate/private)
← Volver a Swift Academy