Python -Erbschaft

Python -Erbschaft

Der Python ist eine objektorientierte Programmiersprache. In einer objektorientierten Programmiersprache erstellen wir die Klassen und führen die beabsichtigte Funktionalität aus. Vererbung ist das grundlegende Merkmal der objektorientierten Programmiersprachen. Vererbung kann als die Fähigkeit einer Klasse definiert werden, alle Funktionen und Eigenschaften einer anderen Klasse zu erben. Die Vererbung ermöglicht es im Wesentlichen, die Eigenschaften einer vorhandenen Klasse zu erweitern. Die Vererbung wird mit den beiden Hauptkonzepten eingesetzt:

  1. Elternklasse oder Basisklasse
  2. Kinderklasse oder abgeleitete Klasse

Die übergeordnete Klasse ist die Klasse, mit der andere Klassen von vererbt werden können. Es wird auch als Basisklasse bezeichnet. Die untergeordnete Klasse oder die abgeleitete Klasse ist die Klasse, die alle Eigenschaften und Funktionen einer anderen Klasse erbt. Vererbung fördert mehrere Vorteile, ich.e., Es ist die Darstellung des Erbschaftsphänomens der realen Welt. Es fördert die Wiederverwendbarkeit von Code. Wenn in einer Klasse eine Funktion definiert ist, kann die andere Klasse diese Klasse erben und alle vorhandenen Funktionen verwenden. Es ist nicht erforderlich, denselben Code immer wieder zu schreiben, um ähnliche Aufgaben auszuführen. Die Vererbung wird auf mehreren Ebenen angewendet. Wenn beispielsweise die Klasse B von A und Klasse C von Klasse B geerbt wird, hat die Klasse C alle Eigenschaften der Klasse B sowie der Klasse A. Die Syntax der Vererbung ist wie folgt:

Klasse Elternklasse:
Implementierungsdetails der übergeordneten Klasse
Klassenkindklasse:
Implementierungsdetails der Kinderklasse

Obwohl die Kinderklasse Zugriff auf alle Funktionen und Funktionen der Elternklasse hat, kann sie auch ihre neuen Funktionen und Funktionen hinzufügen.

Dieser Artikel beschreibt und deckt alle Aspekte des Python -Erbschafts.

Implementierung der Erbschaft in Python

Die Vererbung kann in zahlreichen Situationen angewendet werden. Nehmen wir an, Sie bauen ein Softwaresystem für eine Universität auf. Es kann aus mehreren Stakeholdern wie Schülern, Lehrern, Mitarbeitern usw. bestehen. Also hat jede Person einen Namen, Alter, E -Mail und andere gemeinsame Eigenschaften. Es ist nicht erforderlich, alle Eigenschaften in jeder Klasse getrennt zu erklären. Wir können eine Personklasse erstellen, und alle Klassen der Stakeholder können alle gemeinsamen Eigenschaften und Funktionen der Personklasse erben. In diesem Fall müssen die gemeinsamen Eigenschaften in jeder Klasse nicht immer wieder schreiben. Ebenso können wir eine Tierklasse in Betracht ziehen. Es gibt Hunderte von Tieren auf dieser Welt. Alle Tiere essen, schlafen und haben auch einige Arten. Dieses Konzept kann auch mithilfe der Vererbung implementiert werden.

Betrachten wir das Tier als Superklasse und umsetzen wir das Erbe. Im folgenden Beispiel haben wir eine Tierklasse erstellt. Die Tierklasse ist die Elternklasse. Darüber hinaus haben wir den Hund und Katzenklassen erstellt, die die Eigenschaften und Funktionen der Tierklasse erbt. Das Schlüsselwort für Pass wird in der Kinderklasse verwendet, wenn wir keine erweiterte Funktionalität in der Kinderklasse implementieren müssen.

#Elternklasse
Klassentier:
#Initialisierungsfunktion
#Initilisierung Der Tiername und der Spezifikumstyp
Def __init __ (Selbst, Name, Specie_Type):
selbst.Name = Name
selbst.specie_type = specie_type
#Eine Funktion zum Drucken des Tiernamens
Def PrintName (Selbst):
print ("Der Name des Tieres ist:", Selbst selbst.Name)
#Eine Funktion zum Drucken des Tierspezialentyps
Def printspecie (Selbst):
print ("Die Art der Art ist:", Selbst.Specie_type)
#Die Hundeklasse als Kinderklasse der Tierklasse erstellen
Klassenhund (Tier):
# Keine Erweiterung oder Änderung
passieren
#Now Dog Class hat Zugang zu allen Funktionen und Eigenschaften der Tierklasse
#das Hundeklassenobjekt erstellen
Dogobj = Hund ("Hund", "Fleischfresser")
Dogobj.printName ()
Dogobj.printspecie ()
#Die Katzenklasse als Kinderklasse der Tierklasse erstellen
Klassenkatze (Tier):
#Die Initilisationsfunktion der Katzenklasse
def __init __ (selbst):
#Kallieren und Verwendung der Initilisation -Funktion der Tierklasse
Tier.__init __ (Selbst, "Katze", "fleischfressender Säugetier")
#Now Cat Class hat Zugriff auf alle Funktionen und Eigenschaften der Tierklasse
#das Katzenklassenobjekt erstellen
catobj = cat ()
Catobj.printName ()
Catobj.printspecie ()

Ausgang

Der "Tier.__init __ (Selbst, "Katze", "fleischfressender Säugetier") ") Rufen Sie die Initialisierungsfunktion der Tierklasse auf.

Die Super () -Funktion

Der Python bietet eine integrierte Super () -Funktion, um alle Eigenschaften und Funktionen der übergeordneten Klasse zu erben. Wenn wir die Super () -Funktion verwenden, muss der Name der übergeordneten Klasse nicht erwähnt werden, wie wir es getan haben "Tier.__init __ (Selbst, "Katze", "fleischfressender Säugetier") ") Aber die Super () -Funktion zeigt automatisch auf die übergeordnete Klasse. Lassen Sie uns die Superfunktion verwenden.

#Elternklasse
Klassentier:
#Initialisierungsfunktion
#Initilisierung Der Tiername und der Spezifikumstyp
Def __init __ (Selbst, Name, Specie_Type):
selbst.Name = Name
selbst.specie_type = specie_type
#Eine Funktion zum Drucken des Tiernamens
Def PrintName (Selbst):
print ("Der Name des Tieres ist:", Selbst selbst.Name)
#Eine Funktion zum Drucken des Tierspezialentyps
Def printspecie (Selbst):
print ("Die Art der Art ist:", Selbst.Specie_type)
#Die Hundeklasse als Kinderklasse der Tierklasse erstellen
Klassenhund (Tier):
#Verwendung von Super () Funktion
Def __init __ (Selbst, Name, Specie_Type):
super().__init __ (Name, Specie_type)
#Now Dog Class hat Zugang zu allen Funktionen und Eigenschaften der Tierklasse
#das Hundeklassenobjekt erstellen
Dogobj = Hund ("Hund", "Fleischfresser")
Dogobj.printName ()
Dogobj.printspecie ()
#Die Katzenklasse als Kinderklasse der Tierklasse erstellen
Klassenkatze (Tier):
#Die Initilisationsfunktion der Katzenklasse
#Verwendung von Super () Funktion
Def __init __ (Selbst, Name, Specie_Type):
super().__init __ (Name, Specie_type)
#Now Cat Class hat Zugriff auf alle Funktionen und Eigenschaften der Tierklasse
#das Katzenklassenobjekt erstellen
catobj = cat ("kat", "fleischfressendes Säugetier")
Catobj.printName ()
Catobj.printspecie ()

Ausgang

Fügen wir nun einige weitere Funktionen in den Kinderklassen hinzu. Jede Klasse erbt die gemeinsamen Eigenschaften und Funktionen der Elternklasse, aber die untergeordnete Klasse kann eine zusätzliche Klasse haben, die für diese bestimmte Klasse bestimmt ist. Lassen Sie uns nun einige zusätzliche Eigenschaften und Funktionen im Hund und der Katzenklasse erstellen.

#Elternklasse
Klassentier:
#Initialisierungsfunktion
#Initilisierung Der Tiername und der Spezifikumstyp
Def __init __ (Selbst, Name, Specie_Type):
selbst.Name = Name
selbst.specie_type = specie_type
#Eine Funktion zum Drucken des Tiernamens
Def PrintName (Selbst):
print ("Der Name des Tieres ist:", Selbst selbst.Name)
#Eine Funktion zum Drucken des Tierspezialentyps
Def printspecie (Selbst):
print ("Die Art der Art ist:", Selbst.Specie_type)
#Die Hundeklasse als Kinderklasse der Tierklasse erstellen
Klassenhund (Tier):
#Verwendung von Super () Funktion
#PET -Name ist neu hinzugefügte Funktionen
Def __init __ (Selbst, Name, Specie_Type, PET_NAME):
super().__init __ (Name, Specie_type)
selbst.PET_NAME = PET_NAME
#eine neue Funktion erzeugen
Def Printpetname (Selbst):
print ("Der Haustier Name ist:", Selbst.Haustiername)
#Now Dog Class hat Zugang zu allen Funktionen und Eigenschaften der Tierklasse
#das Hundeklassenobjekt erstellen
Dogobj = Hund ("Hund", "Fleischfresser", "Max")
Dogobj.printName ()
Dogobj.printspecie ()
Dogobj.printpetname ()
#Die Katzenklasse als Kinderklasse der Tierklasse erstellen
Klassenkatze (Tier):
#Die Initilisationsfunktion der Katzenklasse
#Verwendung von Super () Funktion
#Eigenschaften von Lebensmitteln und PET_NAME
Def __init __ (Selbst, Name, Specie_Type, Food, PET_NAME):
super().__init __ (Name, Specie_type)
selbst.Essen = Essen
selbst.PET_NAME = PET_NAME
#New Funktion zum Zugriff auf Ernährungsinformationen
Def Printfood (Selbst):
print ("Die Katze mag:", Selbst selbst.Essen)
#New -Funktion für Haustiername
Def Printpetname (Selbst):
print ("Der Haustier Name ist:", Selbst.Haustiername)
#Now Cat Class hat Zugriff auf alle Funktionen und Eigenschaften der Tierklasse
#das Katzenklassenobjekt erstellen
catobj = cat ("cat", "fleischfressendes Säugetier", "Biscuit", "Daisy")
Catobj.printName ()
Catobj.printspecie ()

Ausgang

Die Funktionen überschreiben

Die Funktionsüberschreitung ist das wichtige Konzept in der Vererbung. Eine Funktion wird als überschriebene Funktion bezeichnet, wenn der Name der Funktion in übergeordneten und untergeordneten Klassen gleich ist, aber die Implementierung oder Funktionalität der Funktion ist in jeder Klasse unterschiedlich. Lassen Sie uns das Beispiel einer überschriebenen Funktion in der Tierklasse sehen. Im folgenden Beispiel haben wir eine Essensfunktion in den Tierklassen und in seinen Kinderklassen (Hund und Katze). Der Name der Funktion ist in den Klassen gleich, aber die Implementierung ist anders.

#Elternklasse
Klassentier:
definitiv (selbst):
Druck ("Alle Tiere essen Essen")
#Creating -Objekt
AnimalObj = Animal ()
#Calling -Funktion
Animalobj.essen()
#Hundeklasse
Klassenhund (Tier):
definitiv (selbst):
Druck ("Der Hund isst Fleisch")
#Creating -Objekt
dogobj = hunde ()
#Calling -Funktion
Dogobj.essen()
Klassenkatze (Tier):
definitiv (selbst):
Drucken ("Die Katze essen Kekse und etwas besonderes Essen")
#Creating -Objekt
catobj = cat ()
#Calling -Funktion
Catobj.essen()

Ausgang

Abschluss

Vererbung ist eines der grundlegenden Konzepte objektorientierter Programmiersprachen. Durch die Verwendung der Vererbung erstellen wir die untergeordneten Klassen, die alle Funktionen und Eigenschaften der übergeordneten Klasse erben. Vererbung fördert die Wiederverwendbarkeit des Codes. Dieser Artikel erklärt das Erbe in Python mit Beispielen.