Metod Överbelastning
Metodsöverbelastning, även känd som Function Overloading eller Compile Time Polymorphism, är ett koncept att ha två eller flera metoder med samma namn men olika signaturer inom samma räckvidd. Det finns många programmeringsspråk som stöder denna funktion: Ada, C ++, C #, D och Java.
Exempel på metodöverbelastning i C #
1234567891011121314 | Klassen OverloadShapes float Polygon (intradius, float pi) float circleArea = pi * radien * radien; int Polygon (int längd, int bredd) int rektangelArea = längd * bredd; int Polygon (int sida) int squareArea = sida * sida; |
Som visat i ovanstående exempel överlagras metoden "Polygon" 3 gånger med olika metod signatur, dvs typen eller antalet parametrar är olika.
Metod Övergripande
Metoden överordnad, även känd som Funktionsövergripande eller Run-time-polymorfism, är en OOP-funktion som gör det möjligt för en barnklass att ge sin egen implementering till den metod som definieras i förälderklassen. Genomförandet i barnklassen strider mot definitionen av metoden i basklassen, förutsatt att metoden i barnklassen ska ha samma namn, signatur och returtyp.
Exempel på metodöverstyrning i C #
12345678910 | klass Source1 public void draw () Console.Writeline ("Jag är i klassen Source1"); klass Source2 utökar Source1 public void draw () Console.Writeline ("Jag är i klassen Source2"); |
Här drar teckningsmetoden i Source2-klassen uppdragsmetoden definierad i Source1-klassen.
Skillnad mellan metodöverbelastning och metodöverstyrning