Beispiel 1: Polymorphismus mit Funktionen und Objekten
Das folgende Skript zeigt die Verwendung des Polymorphismus zwischen zwei verschiedenen Klassen. Eine Funktion wird verwendet, um das Objekt dieser Klassen zu erstellen. Der Wert der benannten Variablen Farbe wird in der initialisiert __drin__() Methode von beiden 'Papagei' und das 'Strauß'Klassen zum Zeitpunkt der Objekterstellung. Der Merkmale() Die Methode ist in beiden Klassen definiert, aber die Ausgabe der Methode für jede Klasse ist etwas anders. Der Create_object () Funktion wird verwendet, um ein Objekt der Klasse zu erstellen. Diese Funktion wird zweimal ausgeführt, um das Objekt in der '' zu erstellenPapagei'Klasse und in' 'Strauß' Klasse. Jeder wird die Feature () -Methode beider Klassen aufgerufen und die Ausgabe ausdrucken.
#!/usr/bin/env python3Ausgang
Die folgende Ausgabe zeigt, dass das Objekt der 'Papagei"Klasse wird mit" erstellt "Grün' als die Farbe Wert. Die Funktion druckt die Ausgabe durch Aufrufen der Merkmale() Methode der 'Papagei' Klasse. Als nächstes das Objekt der 'Strauß"Klasse wird mit" erstellt "Schwarz und weiß' als die Farbe Wert. Die Funktion druckt die Ausgabe durch Aufrufen der Merkmale() Methode der 'Strauß' Klasse.
Beispiel 2: Polymorphismus in nicht verwandten Klassenmethoden
Wie im vorherigen Beispiel zeigt das folgende Skript die Verwendung von Polymorphismus in zwei verschiedenen Klassen, aber es wird keine benutzerdefinierte Funktion verwendet, um das Objekt zu deklarieren. Der __drin__() Methode von beiden 'Manager' Und 'Sachbearbeiter'Klassen initialisieren die erforderlichen Variablen. Der Polymorphismus wird hier durch Erstellen des post_details () Und Gehalt() Methoden in beiden Klassen. Der Inhalt dieser Methoden ist für jeden dieser Klassen unterschiedlich. Als nächstes werden die Objektvariablen für beide Klassen erstellt und von a iteriert für eine Schleife. In jeder Iteration die post_details () Und Gehalt() Methoden werden aufgefordert, die Ausgabe zu drucken.
#!/usr/bin/env python3Ausgang
Die folgende Ausgabe zeigt, dass das Objekt der 'Krippe'Klasse wird in der ersten Iteration der verwendet für Schleife und das Gehalt des Managers werden nach der Berechnung gedruckt. Das Objekt der ''Sachbearbeiter'Klasse wird in der zweiten Iteration der verwendet für Schleife und das Gehalt des Angestellten werden nach der Berechnung gedruckt.
Beispiel 3: Polymorphismus in verwandten Klassenmethoden
Das folgende Skript zeigt die Verwendung des Polymorphismus zwischen zwei Kinderklassen. Hier beide 'Dreieck' Und 'Kreis"sind die Kinderklassen der übergeordneten Klasse namens"Geometrische Figur.'Gemäß der Erbschaft kann die untergeordnete Klasse auf alle Variablen und Methoden der übergeordneten Klasse zugreifen. Der __drin__() Methode der 'Geometrische Figur'Die Klasse wird in beiden Kinderklassen verwendet, um die Variable zu initialisieren Name durch Verwendung der super() Methode. Die Werte der Base Und Höhe des 'Dreieck'Die Klasse wird zum Zeitpunkt der Objekterstellung initialisiert. Ebenso die Radiuswerte der ''Kreis'Die Klasse wird zum Zeitpunkt der Objekterstellung initialisiert. Die Formel zur Berechnung der Fläche eines Dreiecks ist ½ × Base × Höhe, welches in der implementiert ist Bereich() Methode der 'Dreieck' Klasse. Die Formel zur Berechnung der Fläche eines Kreises ist 3.14 × (Radius)2, welches in der implementiert ist Bereich() Methode der 'Kreis' Klasse. Die Namen beider Methoden sind hier gleich, aber der Zweck ist anders. Als nächstes wird vom Benutzer ein Zeichenfolgenwert übernommen, um ein Objekt zu erstellen und die Methode basierend auf dem Wert zu rufen. Wenn das Benutzer "Dreieck" tippt, dann ein Objekt der 'Dreieck' Die Klasse wird erstellt, und wenn der Benutzer "Kreis" ist, dann ist ein Objekt der 'Kreis' Klasse wird erstellt. Wenn der Benutzer einen Text ohne "Dreieck" oder "Kreis" eingibt, wird kein Objekt erstellt, und eine Fehlermeldung wird gedruckt.
#!/usr/bin/env python3Ausgang
In der folgenden Ausgabe wird das Skript zweimal ausgeführt. Das erste Mal, Dreieck wird als Eingabe genommen und das Objekt wird durch drei Werte initialisiert. 'Dreieck'', Base, Und Höhe. Diese Werte werden dann verwendet, um die Fläche des Dreiecks zu berechnen, und der Ausgang wird gedruckt. Das zweite Mal, Kreis wird als Eingabe angenommen und das Objekt wird durch zwei Werte initialisiert. 'Kreis' Und Radius. Diese Werte werden dann verwendet, um die Fläche des Kreises zu berechnen, und der Ausgang wird gedruckt.
Abschluss
In diesem Artikel wurden einfache Beispiele verwendet, um drei verschiedene Verwendungen des Polymorphismus in Python zu erklären. Das Konzept des Polymorphismus kann auch ohne Klassen angewendet werden, eine Methode, die hier nicht erklärt wird. Dieser Artikel hat den Lesern geholfen, mehr darüber zu erfahren.