Sovraccarico del metodo
L'overloading del metodo, noto anche come overload di funzioni o polimorfismo del tempo di compilazione, è un concetto di avere due o più metodi con lo stesso nome ma firma diversa nello stesso ambito. Esistono molti linguaggi di programmazione che supportano questa funzione: Ada, C ++, C #, D e Java.
Esempio di sovraccarico del metodo in C #
1234567891011121314 | classe OverloadShapes float Polygon (int raggio, float pi) float circleArea = pi * raggio * raggio; int Poligono (int length, int larghezza) int rectangle = lunghezza * larghezza; int Poligono (lato int) int squareArea = lato * lato; |
Come mostrato nell'esempio precedente, il metodo 'Polygon' è sovraccaricato 3 volte con una firma del metodo diversa, cioè il tipo o il numero di parametri sono diversi.
Metodo Overriding
L'override del metodo, noto anche come override della funzione o polimorfismo Run time, è una funzionalità OOP che consente a una classe figlia di fornire la propria implementazione al metodo definito nella classe padre. L'implementazione nella classe figlio sovrascrive la definizione del metodo nella classe base, a condizione che il metodo nella classe figlio abbia lo stesso nome, firma e tipo di ritorno.
Esempio di metodo che esegue l'override in C #
12345678910 | classe Source1 public void draw () Console.Writeline ("I am in class Source1"); classe Source2 estende Source1 public void draw () Console.Writeline ("I am in class Source2"); |
Qui, il metodo draw nella classe Source2 sovrascrive il metodo draw definito nella classe Source1.
Differenza tra metodo Sovraccarico e metodo Ignora