Polymorphismus in Python mit BEISPIELEN

Was ist Polymorphismus?

Polymorphismus kann als ein Zustand definiert werden, der in vielen verschiedenen Formen auftritt. Es ist ein Konzept in Python Programmierung, bei der ein Objekt definiert ist in Python kann auf verschiedene Arten verwendet werden. Es ermöglicht dem Programmierer, mehrere Methoden in einer abgeleiteten Klasse zu definieren, und es hat den gleichen Namen wie in der übergeordneten Klasse. Solche Szenarien unterstützen die Methodenüberladung in Python.

Polymorphismus in Operatoren

Ein Operator in Python hilft bei der Durchführung mathematischer und verschiedener anderer Programmieraufgaben. Beispielsweise hilft der Operator '+' bei der Addition zwischen zwei ganzzahligen Typen in Python, und auf die gleiche Weise hilft derselbe Operator beim Verketten von Zeichenketten in Python Programmierung.

Nehmen wir ein Beispiel für + (plus) Betreiber in Python um eine Anwendung des Polymorphismus anzuzeigen in Python wie unten dargestellt:

Python Code:

p = 55
q = 77
r = 9.5
g1 = "Guru"
g2 = "99!"
print("the sum of two numbers",p + q)
print("the data type of result is",type(p + q))
print("The sum of two numbers",q + r)
print("the data type of result is", type (q + r))
print("The concatenated string is", g1 + g2)
print("The data type of two strings",type(g1 + g2))

Ausgang:

the sum of two numbers 132
the data type of result is <class 'int'>

The sum of the two numbers 86.5
the data type of result is <class 'float'>

The concatenated string is Guru99!
The data type of two strings <class 'str'>

Das obige Beispiel kann auch als Beispiel für eine Operatorüberladung angesehen werden.

Polymorphismus in benutzerdefinierten Methoden

Eine benutzerdefinierte Methode im Python Programmiersprache sind Methoden, die der Benutzer erstellt und mit dem Schlüsselwort def mit dem Funktionsnamen deklariert wird.

Polymorphismus in der Python Die Programmiersprache wird durch Überladen und Überschreiben von Methoden erreicht. Python definiert Methoden mit dem Schlüsselwort „def“ und mit demselben Namen sowohl in der untergeordneten als auch in der übergeordneten Klasse.

Nehmen wir das folgende Beispiel: –

Python Code:

from math
import pi
class square:
    def __init__(self, length):
    self.l = length
def perimeter(self):
    return 4 * (self.l)
def area(self):
    return self.l * self.l
class Circle:
    def __init__(self, radius):
    self.r = radius
def perimeter(self):
    return 2 * pi * self.r
def area(self):
    return pi * self.r * * 2
# Initialize the classes
sqr = square(10)
c1 = Circle(4)
print("Perimeter computed for square: ", sqr.perimeter())
print("Area computed for square: ", sqr.area())
print("Perimeter computed for Circle: ", c1.perimeter())
print("Area computed for Circle: ", c1.area())

Ausgang:

Perimeter computed for square:  40
Area computed for square:  100
Perimeter computed for Circle:  25.132741228718345
Area computed for Circle:  50.26548245743669

Im obigen Code gibt es zwei benutzerdefinierte Methoden, Umfang und Fläche, die in den Klassen Kreis und Quadrat definiert sind.

Wie oben gezeigt, rufen sowohl die Kreisklasse als auch die Quadratklasse denselben Methodennamen auf, der die Eigenschaften des Polymorphismus anzeigt, um die erforderliche Ausgabe zu liefern.

Polymorphismus in Funktionen

Die integrierten Funktionen in Python sind so konzipiert und kompatibel, dass sie mehrere Datentypen ausführen können. Python, Len() ist eine der wichtigsten integrierten Funktionen.

Es funktioniert mit mehreren Datentypen: Liste, Tupel, Zeichenfolge und Wörterbuch. Die Funktion Len() gibt bestimmte Informationen zurück, die auf diese vielen Datentypen ausgerichtet sind.

Die folgende Abbildung zeigt, wie Polymorphismus angewendet werden kann in Python in Bezug auf eingebaute Funktionen: –

Polymorphismus in Funktionen

Das folgende Programm hilft bei der Veranschaulichung der Anwendung von Polymorphismus in Python: -

Python Code:

print ("The length of string Guru99 is ",len("Guru99"))
print("The length of list is ",len(["Guru99","Example","Reader"]))
print("The length of dictionary is ",len({"Website name":"Guru99","Type":"Education"}))

Ausgang:

The length of string Guru99 is 6
The length of the list is 3
The length of the dictionary is 2

Polymorphismus in Funktionen

Im obigen Beispiel ist die Funktion Len () Python führt Polymorphismus für Zeichenfolgen-, Listen- und Wörterbuchdatentypen durch.

Polymorphismus und Vererbung

Vererbung in Python kann als das Programmierkonzept definiert werden, bei dem eine definierte Kindklasse Eigenschaften von einer anderen Basisklasse erbt, die in Python.

Es gibt zwei Schlüssel Python Konzepte, die als Methodenüberschreibung und Methodenüberladung bezeichnet werden.

  • Bei der Methodenüberladung Python bietet die Möglichkeit, Methoden mit demselben Namen zu erstellen, um in einem bestimmten Codeabschnitt verschiedene Funktionen auszuführen. Es ermöglicht das Überladen von Methoden und deren Verwendung, um verschiedene Aufgaben einfacher auszuführen.
  • Bei der Methodenüberschreibung Python überschreibt den Wert, der in übergeordneten und untergeordneten Klassen einen ähnlichen Namen hat.

Betrachten wir das folgende Beispiel für Polymorphismus und Vererbung: –

Python Code:

class baseclass:
    def __init__(self, name):
    self.name = name
def area1(self):
    pass
def __str__(self):
    return self.name
class rectangle(baseclass):
    def __init__(self, length, breadth):
    super().__init__("rectangle")
self.length = length
self.breadth = breadth
def area1(self):
    return self.length * self.breadth
class triangle(baseclass):
    def __init__(self, height, base):
    super().__init__("triangle")
self.height = height
self.base = base
def area1(self):
    return (self.base * self.height) / 2
a = rectangle(90, 80)
b = triangle(77, 64)
print("The shape is: ", b)
print("The area of shape is", b.area1())
print("The shape is:", a)
print("The area of shape is", a.area1())

Ausgang:

The shape is: a triangle
The area of a shape is 2464.0

The shape is: a rectangle
The area of a shape is 7200

Im obigen Code haben die Methoden denselben Namen wie die Methode „init“ und die Methode „area1“. Die Objekte der Klassen „Quadrat“ und „Rechteck“ werden dann verwendet, um die beiden Methoden aufzurufen, um unterschiedliche Aufgaben auszuführen und die Ausgabe der Fläche von Quadrat und Rechteck bereitzustellen.

Polymorphismus mit den Klassenmethoden

Der Python Programmierung ermöglicht es Programmierern, Polymorphismus und Methodenüberladung mit Klassenmethoden zu erreichen. Die verschiedenen Klassen in Python können Methoden haben, die im gleichen Namen deklariert sind, über die Python Code.

In Pythonkönnen zwei verschiedene Klassen definiert werden. Eine wäre die untergeordnete Klasse und sie leitet Attribute von einer anderen definierten Klasse ab, die als übergeordnete Klasse bezeichnet wird.

Das folgende Beispiel veranschaulicht das Konzept des Polymorphismus mit Klassenmethoden: –

Python Code:

class amazon:
    def __init__(self, name, price):
    self.name = name
self.price = price
def info(self):
    print("This is product and am class is invoked. The name is {self.name}. This costs {self.price} rupees.")
class flipkart:
    def __init__(self, name, price):
    self.name = name
self.price = price
def info(self):
    print(f "This is product and fli class is invoked. The name is {self.name}. This costs {self.price} rupees.")
FLP = flipkart("Iphone", 2.5)
AMZ = amazon("Iphone", 4)
for product1 in (FLP, AMZ):
    product1.info()

Ausgang:

This is a product, and fli class is invoked. The name is iPhone, and this costs 2.5 rupees.
This is a product, and am class is invoked. The name is iPhone, and this costs 4 rupees.

Im obigen Code verwenden zwei verschiedene Klassen namens Flipkart und Amazon die gleichen Methodennamen info und init, um entsprechende Preisangaben für das Produkt bereitzustellen und das Konzept des Polymorphismus in weiter zu veranschaulichen Python.

Unterschied zwischen Methodenüberladung und Polymorphismus zur Kompilierungszeit

Beim Polymorphismus zur Kompilierungszeit muss der Compiler des Python Programm löst den Aufruf auf. Polymorphismus zur Kompilierungszeit wird durch Methodenüberladung erreicht.

Der Python Der Compiler löst die Aufrufe während der Laufzeit nicht auf Polymorphismus auf. Es wird auch als Methodenüberschreibung klassifiziert, bei der dieselben Methoden ähnliche Signaturen oder Eigenschaften aufweisen, aber Teil unterschiedlicher Klassen sind.

Zusammenfassung

  • Polymorphismus kann als ein Zustand definiert werden, der in vielen verschiedenen Formen auftritt.
  • Ein Operator in Python hilft bei der Durchführung mathematischer und verschiedener anderer Programmieraufgaben.
  • Eine benutzerdefinierte Methode im Python Programmiersprache sind Methoden, die der Benutzer erstellt und mit dem Schlüsselwort def mit dem Funktionsnamen deklariert wird.
  • Polymorphismus in Python bietet mehrere wünschenswerte Eigenschaften, beispielsweise fördert es die Wiederverwendbarkeit von Codes, die für verschiedene Klassen und Methoden geschrieben wurden.
  • Eine untergeordnete Klasse ist eine abgeleitete Klasse und erhält ihre Attribute von der übergeordneten Klasse.
  • Der Polymorphismus wird auch durch Überschreiben von Methoden zur Laufzeit und Überladen von Methoden zur Kompilierungszeit erreicht.
  • Polymorphismus in Python wird auch durch Operatorüberladung und Klassenmethoden erreicht.