Sommario:
Definizione - Cosa significa Overriding?
L'override è una funzione di programmazione orientata agli oggetti che consente a una classe figlio di fornire un'implementazione diversa per un metodo che è già definito e / o implementato nella sua classe genitore o in una delle sue classi genitore. Il metodo overriden nella classe child dovrebbe avere lo stesso nome, firma e parametri di quello nella sua classe parent.
La sostituzione consente di gestire diversi tipi di dati attraverso un'interfaccia uniforme. Quindi, un metodo generico potrebbe essere definito nella classe genitore, mentre ogni classe figlio fornisce la sua implementazione specifica per questo metodo.
Techopedia spiega Override
La versione del metodo invocato è determinata dall'oggetto classe. Se l'oggetto di classe figlio viene utilizzato per invocare il metodo, viene eseguita la versione di classe figlio del metodo. Se l'oggetto classe genitore viene utilizzato per invocare il metodo, viene eseguita la versione della classe genitore del metodo. Il metodo invocato viene determinato in fase di esecuzione, mentre in caso di sovraccarico il metodo invocato viene determinato in fase di compilazione.
C ++ e C # supportano l'override utilizzando esplicitamente le parole chiave "override" e "virtual". Java utilizza la parola chiave "super" per invocare il metodo superclass. Tuttavia, C ++ non ha la parola chiave super e utilizza invece il nome della classe base seguito dall'operatore di risoluzione dell'ambito (: :).
