Junior — Middle
Leg uit het verschil tussen een methode die wordt geïmplementeerd met dezelfde naam en handtekening in een klasse en de overbelasting ervan, en het overschrijven van de methode in afgeleide klassen.
sobes.tech AI
Antwoord van AI
Method overloading is wanneer in één klasse meerdere methoden met dezelfde naam worden gemaakt, maar met verschillende handtekeningen (verschillende sets parameters). Dit stelt je in staat om de methode met verschillende argumenten aan te roepen, en de compiler kiest de juiste variant.
Method overriding gebeurt in een afgeleide klasse, wanneer een methode met dezelfde handtekening als in de basisklasse opnieuw wordt geïmplementeerd om het gedrag van de basismethode te wijzigen of uit te breiden.
Voorbeeld in Swift:
class Animal {
func sound() {
print("Iets geluid")
}
}
class Dog: Animal {
override func sound() { // override
print("Blaf")
}
func sound(volume: Int) { // overload
print("Blaf op volume \(volume)")
}
}
Hier overschrijft sound() in de Dog-klasse de methode van de basisklasse Animal, en sound(volume:) is een overload van de methode met een andere set parameters.