Überladung von Methoden

unterschiedliche Übergabeparameter bei gleichen Methodennamen

Existieren innerhalb eines Gültigkeitsbereiches mehrere Methoden mit dem selben Methodennamen aber unterschiedlichen Übergabeparametern, so spricht man von einer Überladung. Überladene Methoden haben also den selben Namen, aber unterschiedliche Parameter.

Die Konsolenausgabe mit der Methode WriteLine hat beispielsweise wie im folgenden Bild zu erkennen ist 19 Überladungen.

Methoden überladen

Damit der Compiler die einzelnen Methoden unterscheiden kann, müssen sie sich hinsichtlich ihrer Parameter (Datentyp oder Anzahl der Parameter) von einander unterscheiden. Das folgende Beispiel zeigt den Aufruf der Methode "Rechner" mit 3 Überladungen.

 

namespace ConsoleApplication_Methoden_ueberladen
{
    class Program
    {
        static void Main(string[] args)
        {
            int x = 2, y = 7, z = 4;
            double pi = 3.14;

            Rechner(x, y);      // 1. Überladung
            Rechner(x, pi);     // 2. Überladung
            Rechner(x, y, z);   // 3. Überladung
        }

        static void Rechner(int x, int y)
        {
            Console.WriteLine("Addition: " + (x + y));      // Ausgabe 9
        }

        static void Rechner(int x, double pi)
        {
            Console.WriteLine("Addition: " + (x + pi));     // Ausgabe 5.14
        }

        static void Rechner(int x, int y, int z)
        {
            Console.WriteLine("Addition: " + (x + y + z));  // Ausgabe 13
        }
    }
}