Héritage, redéfinition et final
Créez une classe de base, étendez-la par héritage, override z les méthodes et propriétés, appelez super et verrouillez le comportement avec final .
Héritage, redéfinition et final est une leçon Swift Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 3. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Swift Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Swift Academy comprend 3 leçons au total.
Présentation
Les classes Swift prennent en charge l'héritage. Vous pouvez override un comportement et appeler le parent. Utilisez le mot-clé final pour empêcher toute modification ultérieure.
Classe de base
Créez une classe base avec une méthode d'instance que les sous-classes peuvent override.
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())Méthode override
Utilisez le mot-clé override pour fournir une nouvelle implémentation dans une sous-classe.
class Dog: Animal {
override func speak() -> String { "woof" }
}
let d = Dog(name: "Rex")
print(d.speak()) // "woof"Appel du parent
Appelez le parent pour réutiliser le comportement de base et l'étendre dans la sous-classe.
class Cat: Animal {
override func speak() -> String {
let base = super.speak()
return base + " meow"
}
}
print(Cat(name: "Mimi").speak()) // "... meow"Override et final
Vous pouvez override des propriétés et des méthodes. Utilisez final sur une classe ou un membre pour empêcher toute sous-classification ou tout remplacement ultérieur.
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()Remarques et conseils
Remarques :
- Préférez la composition aux hiérarchies profondes.
- Marquez les classes ou les membres comme définitifs, sauf si vous prévoyez de les étendre par sous-classification.
- Utilisez toujours override lorsque vous remplacez un comportement de base.
Mot-clé final
Vérification rapide : quel mot-clé empêche la sous-classification ou le remplacement ?
Récapitulatif
Récapitulatif : définissez une classe base, utilisez override sur les méthodes et les propriétés des sous-classes, appelez le parent pour réutiliser le travail existant et marquez les types ou les membres comme définitifs pour verrouiller leur comportement.
Questions Fréquemment Posées
La leçon « Héritage, redéfinition et final » est-elle gratuite ?
Oui — le texte complet de « Héritage, redéfinition et final » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Swift Academy, passe à CoddyKit PRO. Le cours Swift Academy comprend 3 leçons au total.
Qu'est-ce que j'apprendrai dans « Héritage, redéfinition et final » ?
Créez une classe de base, étendez-la par héritage, override z les méthodes et propriétés, appelez super et verrouillez le comportement avec final . Tu pratiques Swift Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Swift Academy ?
Aucune expérience préalable n'est requise. Swift Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 3.
Combien de temps prend la leçon « Héritage, redéfinition et final » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Swift Academy ?
Oui. Chaque leçon Swift Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Initialisateur membre à membre et méthodes mutantes
- Héritage, redéfinition et final
- Contrôle d’accès (public/internal/fileprivate/private)