Metodeoverbelastning, også kendt som Funktionoverbelastning eller Compile time polymorfisme, er et koncept med at have to eller flere metoder med samme navn, men forskellige signaturer i samme omfang. Der er mange programmeringssprog, der understøtter denne funktion: Ada, C ++, C #, D og Java.
Eksempel på metodeoverbelastning i C #
Som vist i ovenstående eksempel overbelastes metoden 'Polygon' 3 gange med forskellige metodesignaturer, dvs. typen eller antallet af parametre er forskellige.
Fremgangsmådeoverskridende, også kendt som Funktionsoverskridende eller polymorfisme af køretid, er en OOP-funktion, der tillader en barneklasse at give sin egen implementering af den metode, der er defineret i forældreklassen. Implementeringen i barneklassen tilsidesætter definitionen af metoden i baseklassen, forudsat at metoden i barneklassen skal have samme navn, underskrift og returtype.
Eksempel på metodeoverskridelse i C #
Her tilsidesætter tegningsmetoden i klassen Source2 tegningsmetoden, der er defineret i klassen Source1.