Metode Overbelastning
Metodeoverbelastning, også kjent som funksjon Overloading eller Compile Time Polymorphism, er et konsept om å ha to eller flere metoder med samme navn, men forskjellig signatur i samme omfang. Det er mange programmeringsspråk som støtter denne funksjonen: Ada, C ++, C #, D og Java.
Eksempel på metodeoverbelastning i C #
1234567891011121314 | klasse overloadShapes float polygon (int radius, float pi) float circleArea = pi * radius * radius; int Polygon (int lengde, int bredde) int rektangelArea = lengde * bredde; int Polygon (int side) int squareArea = side * side; |
Som vist i eksemplet ovenfor, blir metoden 'Polygon' overbelastet 3 ganger med forskjellig metode signatur, dvs. typen eller antall parametere er forskjellige.
Metode Overstyring
Metode overstyring, også kjent som funksjonstrykk eller Run-time polymorphism, er en OOP-funksjon som tillater en barneklasse å gi sin egen implementering til metoden som er definert i foreldreklassen. Gjennomføringen i barneklassen overstyrer definisjonen av metoden i grunnklassen, forutsatt at metoden i barneklassen skal ha samme navn, signatur og returtype.
Eksempel på metode overstyring i C #
12345678910 | klasse Source1 public void draw () Console.Writeline ("Jeg er i klassen Source1"); klasse Source2 utvider Source1 public void draw () Console.Writeline ("Jeg er i klassen Source2"); |
Her tegner tegnemetoden i Source2-klassen tegnemetoden som er definert i Source1-klassen.
Forskjellen mellom metodeoverbelastning og overstyring av metode