Junior — Middle
Peut-on implémenter la dispatch statique des méthodes à l'intérieur d'une classe?
sobes.tech IA
Réponse de l'IA
Dans le langage Swift (principalement pour iOS), la dispatch statique des méthodes à l’intérieur d’une classe est possible pour les méthodes déclarées comme static ou final. Ces méthodes sont appelées directement par type, sans recherche dynamique dans la table des méthodes virtuelles.
Exemple :
class MyClass {
static func staticMethod() {
print("Méthode statique")
}
final func finalMethod() {
print("Méthode finale")
}
func dynamicMethod() {
print("Méthode dynamique")
}
}
MyClass.staticMethod() // appel de la méthode statique
let obj = MyClass()
obj.finalMethod() // appel de la méthode finale (dispatch statique)
obj.dynamicMethod() // appel de la méthode dynamique (dispatch dynamique)
Ainsi, la dispatch statique est possible, mais uniquement pour les méthodes qui ne peuvent pas être redéfinies dans des sous-classes.