Junior — Middle
Kun je bij het overschrijven van methoden verschillende parameter namen gebruiken in de handtekening?
sobes.tech AI
Antwoord van AI
In Swift, bij het overschrijven van methoden kunnen verschillende parameter namen worden gebruikt in de handtekening, maar het is belangrijk te begrijpen dat voor de compiler de externe parameter namen (external parameter names) belangrijk zijn, niet de interne (internal parameter names).
Bij het overschrijven van een methode moet de externe interface overeenkomen zodat de methode correct wordt overschreven. De interne parameter namen kunnen verschillen, omdat ze alleen binnen de methode zichtbaar zijn.
Voorbeeld:
class Parent {
func greet(name personName: String) {
print("Hello, \(personName)")
}
}
class Child: Parent {
override func greet(name friendName: String) { // externe parameter "name" komt overeen
print("Hi, \(friendName)")
}
}
Hier komt de externe parameter name overeen, en de interne namen (personName en friendName) verschillen — dit is toegestaan.