Wat is Method Overloading?

Method Overloading is een techniek waarbij meerdere methodes met dezelfde naam worden gedefinieerd, maar met verschillende parameterlijsten. Hierdoor kun je dezelfde methode op verschillende manieren aanroepen, afhankelijk van de situatie.

Casus

Stel je bouwt een rekenmachine-applicatie. Met method overloading kun je dezelfde methode gebruiken om zowel twee getallen als drie getallen op te tellen.

Hoe zit Method Overloading in elkaar?

Method Overloading wordt bereikt door methodes met dezelfde naam te definiëren, maar met een andere parameterlijst. Dit kan door het aantal, de volgorde, of het type van de parameters te variëren. Het biedt flexibiliteit en maakt code overzichtelijker door methodes logisch te groeperen.

Codevoorbeeld

public class Rekenmachine
{
    public int TelOp(int a, int b)
    {
        return a + b;
    }
 
    public int TelOp(int a, int b, int c)
    {
        return a + b + c;
    }
}

Hoe gebruik je Method Overloading?

Method Overloading is handig wanneer dezelfde bewerking op verschillende manieren kan worden uitgevoerd, afhankelijk van de beschikbare gegevens. Het maakt het mogelijk om consistente methodenamen te gebruiken, wat de leesbaarheid en het onderhoud van de code verbetert.

Casus

Stel je bouwt een applicatie voor tekstbewerking. Met method overloading kun je dezelfde methode gebruiken om tekst in hoofdletters te zetten, of een specifiek aantal woorden om te zetten.

Mogelijke uitwerking van de casus

Stel je maakt een klasse die een welkomstbericht toont. Soms wil je gewoon "Welkom!" tonen en soms wil je de naam van een persoon toevoegen aan het bericht.
 
public class WelkomPrinter
{
    public void ToonBericht()
    {
        Console.WriteLine("Welkom!");
    }
 
    public void ToonBericht(string naam)
    {
        Console.WriteLine($"Welkom, {naam}!");
    }
}
 
// Gebruik
WelkomPrinter printer = new WelkomPrinter();
printer.ToonBericht();            // Output: Welkom!
printer.ToonBericht("Anne");      // Output: Welkom, Anne!

Volgende stap: Oefeningen method overloading