Sobes.tech
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.