Override dei metodi in Python

Pubblicato: 2023-01-28

Sommario

Prerequisiti per comprendere l'override del metodo:

L'override del metodo è uno dei concetti più significativi nella programmazione orientata agli oggetti. L'implementazione di una funzione specifica nella classe figlia definita in una classe genitore può essere modificata dal metodo Overriding. L'override del metodo può essere definito come la capacità della classe figlia di alterare l'esecuzione di un metodo offerto da una delle sue classi genitore, denominate predecessori. Per eseguire l'override di una funzione, i seguenti criteri devono essere soddisfatti dalla classe.

  • Classe ereditabile: non è possibile eseguire l'override della funzione all'interno di una classe. È necessaria la derivazione di una classe figlia da una classe genitore.
  • La firma della funzione ridefinita nella classe figlia e quella nella classe genitore dovrebbero essere le stesse. In altre parole, la funzione sovrascritta e la funzione nella classe genitore dovrebbero avere lo stesso numero di argomenti e parametri.

Una panoramica dell'override del metodo in Python:

Come definito in precedenza, la proprietà method override di un linguaggio di programmazione orientato agli oggetti in virtù della quale la sottoclasse fornisce una particolare implementazione del metodo che è già offerta da una delle sue superclassi. Si dice che il metodo in una sottoclasse (classe figlia) sovrascrive un metodo della superclasse (classe genitore) quando il metodo della sottoclasse ha gli stessi parametri o firma, lo stesso nome e lo stesso tipo restituito o sottotipo del metodo nella sua superclasse.

L'oggetto utilizzato per richiamare un metodo eseguito ne determina la versione. La versione nella superclasse verrà eseguita se un oggetto nella superclasse viene utilizzato per chiamare il metodo. Tuttavia, se un metodo viene richiamato da un oggetto nella sottoclasse, verrà eseguita la versione della classe figlia. In altri termini, il tipo dell'oggetto a cui si fa riferimento viene utilizzato per determinare la versione del metodo che viene sovrascritto ed eseguito. La versione del metodo sottoposto a override non è determinata dal tipo della variabile di riferimento.

Dai un'occhiata ai corsi di scienza dei dati di upGrad

Vantaggi dell'override del metodo:

Il vantaggio principale dell'override del metodo in Python è che la classe offre un modello definito da sé al metodo ereditato senza alterare il codice della classe genitore. Questa funzionalità è utile anche nei casi in cui una classe figlia utilizza una classe padre con più classi figlie. In questo caso, il metodo ei parametri della classe genitore possono essere invocati dalla classe figlia senza modificare il codice della classe genitore.

Esplora i nostri popolari corsi di scienza dei dati

Executive Post Graduate Program in Data Science presso IIITB Programma di certificazione professionale in Data Science per il processo decisionale aziendale Master of Science in Data Science presso l'Università dell'Arizona
Programma di certificazione avanzata in Data Science da IIITB Programma di certificazione professionale in scienza dei dati e analisi aziendale presso l'Università del Maryland Corsi di scienza dei dati

Leggi i nostri popolari articoli sulla scienza dei dati

Percorso di carriera nella scienza dei dati: una guida completa alla carriera Crescita della carriera nella scienza dei dati: il futuro del lavoro è qui Perché la scienza dei dati è importante? 8 modi in cui la scienza dei dati apporta valore al business
Rilevanza della scienza dei dati per i manager Il foglio informativo definitivo sulla scienza dei dati che ogni scienziato di dati dovrebbe avere I 6 motivi principali per cui dovresti diventare un data scientist
Un giorno nella vita dei data scientist: cosa fanno? Mito sfatato: la scienza dei dati non ha bisogno di codifica Business Intelligence vs Data Science: quali sono le differenze?

Differenze tra l'override del metodo e l'overload del metodo

Override del metodo

Metodo sovraccarico

I metodi o le funzioni in entrambe le classi padre e figlio devono avere le stesse firme e gli stessi nomi. Le funzioni oi metodi devono avere gli stessi nomi. Tuttavia, le loro firme non devono necessariamente essere le stesse.
Questo è un esempio di polimorfismo di runtime. Questo processo è un esempio di polimorfismo in fase di compilazione.
L'ereditarietà è un must per l'override del metodo in Python. In alcuni casi può essere richiesta l'ereditarietà delle classi. Tuttavia, potrebbe non essere necessario in tutti i casi.
L'override del metodo avviene tra i metodi nella classe genitore e nella classe figlia. Tuttavia, non può accadere all'interno di una classe. L'overload del metodo si verifica tra i metodi all'interno della stessa classe.
Questa funzione viene utilizzata per modificare il comportamento dei metodi esistenti. Viene utilizzato per aggiungere altro al comportamento del metodo.
Per eseguire l'override del metodo sono necessarie almeno due classi (una classe figlia e una classe genitore). Non sono necessarie classi aggiuntive perché l'overload si verifica tra i metodi all'interno della stessa classe.

Se desideri approfondire l'override dei metodi in Python, ti suggeriamo di seguire il Master of Science in Data Science di 18 mesi . upGrad offre questo corso dall'IIIT Bangalore e dalla Liverpool John Moore's University. Il corso ti insegna abilità come statistica, analisi predittiva utilizzando Python, apprendimento automatico, visualizzazione dei dati, analisi dei big data e altro ancora. Gli studenti con una solida conoscenza dei concetti di Python sono ben posizionati per affrontare argomenti come Deep Learning, Natural Language Processing, Business Analytics e Data Engineering.

Vuoi condividere questo articolo?

Preparati per una carriera del futuro

Fai domanda per il Master of Science in Data Science