Esempio 1: polimorfismo con funzioni e oggetti
Il seguente script mostra l'uso del polimorfismo tra due diverse classi. Una funzione viene utilizzata per creare l'oggetto di quelle classi. Il valore della variabile denominata colore è inizializzato in __dentro__() metodo di entrambi i 'Pappagallo' e il 'Struzzo'Classi al momento della creazione di oggetti. IL caratteristiche() Il metodo è definito in entrambe le classi, ma l'output del metodo per ogni classe è un po 'diverso. IL Create_object () La funzione viene utilizzata per creare un oggetto della classe. Questa funzione viene eseguita due volte per creare l'oggetto nel 'Pappagallo'classe e nella'Struzzo' classe. Ognuno chiamerà il metodo di funzionalità () di entrambe le classi e stamperà l'output.
#!/usr/bin/env python3Produzione
Il seguente output mostra che l'oggetto del 'Pappagallo'La classe è creata con'Verde' come il colore valore. La funzione stampa l'output chiamando il caratteristiche() metodo del 'Pappagallo' classe. Successivamente, l'oggetto del 'Struzzo'La classe è creata con'Bianco e nero' come il colore valore. La funzione stampa l'output chiamando il caratteristiche() metodo del 'Struzzo' classe.
Esempio 2: polimorfismo nei metodi di classe non correlati
Come nell'esempio precedente, il seguente script mostra l'uso del polimorfismo in due classi diverse, ma non viene utilizzata alcuna funzione personalizzata per dichiarare l'oggetto. IL __dentro__() metodo di entrambi i 'Manager' E 'Impiegato'Le classi inizializzerà le variabili necessarie. Il polimorfismo è implementato qui creando il post_details () E stipendio() Metodi all'interno di entrambe le classi. Il contenuto di questi metodi è diverso per ciascuna di queste classi. Successivamente, le variabili dell'oggetto vengono create per entrambe le classi e iterate da a per un ciclo continuo. In ogni iterazione, il post_details () E stipendio() I metodi sono chiamati per stampare l'output.
#!/usr/bin/env python3Produzione
Il seguente output mostra che l'oggetto del 'Mangiatoia'La classe viene utilizzata nella prima iterazione del per Loop e lo stipendio del gestore vengono stampati dopo il calcolo. L'oggetto del 'Impiegato'La classe viene utilizzata nella seconda iterazione del per Loop e lo stipendio dell'impiegato viene stampato dopo il calcolo.
Esempio 3: polimorfismo nei metodi di classe correlati
La seguente sceneggiatura mostra l'uso del polimorfismo tra due classi di bambini. Qui, entrambi 'Triangolo' E 'Cerchio"Sono le classi figlio della classe genitore denominata"Geometric_shape.'Secondo l'eredità, la classe figlio può accedere a tutte le variabili e metodi della classe genitore. IL __dentro__() metodo del 'Geometric_shape'La classe viene utilizzata in entrambe le classi figlio per inizializzare la variabile nome usando il super() metodo. I valori del base E altezza di "Triangolo'La classe verrà inizializzata al momento della creazione di oggetti. Allo stesso modo, i valori del raggio del 'Cerchio'La classe verrà inizializzata al momento della creazione di oggetti. La formula per il calcolo dell'area di un triangolo è ½ × base × altezza, che è implementato nel la zona() metodo del 'Triangolo' classe. La formula per il calcolo dell'area di un cerchio è 3.14 × (raggio)2, che è implementato nel la zona() metodo del 'Cerchio' classe. I nomi di entrambi i metodi sono gli stessi, qui, ma lo scopo è diverso. Successivamente, verrà prelevato un valore di stringa dall'utente per creare un oggetto e chiamare il metodo in base al valore. Se l'utente digita "triangolo", allora un oggetto di "Triangolo' la classe verrà creata e se il tipo di utente tipi "cerchio", allora un oggetto del 'Cerchio' la classe verrà creata. Se l'utente digita un testo senza "triangolo" o "cerchio", allora nessun oggetto verrà creato e verrà stampato un messaggio di errore.
#!/usr/bin/env python3Produzione
Nel seguente output, lo script viene eseguito due volte. La prima volta, triangolo viene preso come input e l'oggetto viene inizializzato con tre valori "Triangolo', base, E altezza. Questi valori vengono quindi utilizzati per calcolare l'area del triangolo e l'uscita verrà stampata. La seconda volta, cerchio è preso come input e l'oggetto viene inizializzato con due valori "Cerchio' E raggio. Questi valori vengono quindi utilizzati per calcolare l'area del cerchio e l'uscita verrà stampata.
Conclusione
Questo articolo ha utilizzato semplici esempi per spiegare tre diversi usi del polimorfismo in Python. Il concetto di polimorfismo può anche essere applicato senza classi, un metodo che non è spiegato qui. Questo articolo ha aiutato i lettori a saperne di più su come applicare il polimorfismo nella programmazione di Python a base di oggetti.