Junior — Middle
È possibile utilizzare nomi di parametri diversi nella firma durante la sovrascrittura dei metodi?
sobes.tech AI
Risposta dell'AI
In Swift, durante la sovrascrittura di metodi, è possibile usare nomi di parametri diversi nella firma, ma è importante capire che per il compilatore sono importanti i nomi esterni dei parametri (external parameter names), non quelli interni (internal parameter names).
Quando si sovrascrive un metodo, l'interfaccia esterna deve corrispondere affinché il metodo venga sovrascritto correttamente. I nomi interni dei parametri possono differire, poiché sono visibili solo all'interno del corpo del metodo.
Esempio:
class Parent {
func greet(name personName: String) {
print("Hello, \(personName)")
}
}
class Child: Parent {
override func greet(name friendName: String) { // il parametro esterno "name" corrisponde
print("Hi, \(friendName)")
}
}
Qui, il parametro esterno name corrisponde, e i nomi interni (personName e friendName) differiscono, il che è consentito.