Python OOPs: Klasse, Objekt, Vererbung und Konstruktor mit Beispiel
OOPs in Python
OOPs in Python ist ein Programmieransatz, der sich auf die Verwendung von Objekten und Klassen konzentriert, genau wie bei anderen allgemeinen Programmiersprachen. Die Objekte kรถnnen beliebige reale Entitรคten sein. Python ermรถglicht es Entwicklern, Anwendungen mit dem OOP-Ansatz zu entwickeln, wobei der Schwerpunkt auf der Wiederverwendbarkeit des Codes liegt. Es ist sehr einfach, Klassen und Objekte in Python.
Was ist eine Klasse?
Eine Klasse in Python ist eine logische Gruppierung von Daten und Funktionen. Sie bietet die Freiheit, Datenstrukturen zu erstellen, die beliebige Inhalte enthalten und daher leicht zugรคnglich sind.
Ein Bankangestellter, der beispielsweise die Kundendaten online abrufen mรถchte, wรผrde zu Kundenklasse, wo alle Attribute wie Transaktionsdetails, Auszahlungs- und Einzahlungsdetails, ausstehende Schulden usw. aufgelistet werden.
Wie zu definieren Python Unterricht
Um eine Klasse zu definieren, mรผssen Sie folgende Punkte berรผcksichtigen
Schritt 1) In Python, Klassen werden definiert durch die "Klasse" Stichwort
class myClass():
Schritt 2) Innerhalb von Klassen kรถnnen Sie Funktionen oder Methoden definieren, die Teil dieser Klasse sind
def method1 (self): print "Guru99" def method2 (self,someString): print "Software Testing:" + someString
- Hier haben wir Methode 1 definiert, die โGuru99โ ausgibt.
- Eine weitere Methode, die wir definiert haben, ist Methode2, die โSoftware Testingโ + SomeString ausgibt. SomeString ist die von der aufrufenden Methode bereitgestellte Variable
Schritt 3) Alles in einer Klasse ist eingerรผckt, genau wie der Code in der Funktion, Schleife, if-Anweisung usw. Alles, was nicht eingerรผckt ist, ist nicht in der Klasse
HINWEIS: รber die Verwendung von โselfโ in Python
- Das Argument โselfโ bezieht sich auf das Objekt selbst. Daher die Verwendung des Wortes โselfโ. Innerhalb dieser Methode bezieht sich โselfโ also auf die spezifische Instanz dieses Objekts, an der gearbeitet wird.
- Selbst ist der Name, der gemรคร Konvention bevorzugt wird von Pythons zur Angabe des ersten Parameters von Instanzmethoden in Python. Es ist Teil der Python Syntax fรผr den Zugriff auf Mitglieder von Objekten
Schritt 4) Ein Objekt der Klasse erstellen
c = myClass()
Schritt 5) Um eine Methode in einer Klasse aufzurufen
c.method1()
c.method2(" Testing is fun")
- Beachten Sie, dass wir beim Aufruf von method1 oder method2 das Schlรผsselwort self nicht angeben mรผssen. Das erledigt automatisch der Python Laufzeit.
- Python Die Laufzeit รผbergibt den Wert โselfโ, wenn Sie eine Instanzmethode in der Instanz aufrufen, unabhรคngig davon, ob Sie dies absichtlich angeben oder nicht.
- Sie mรผssen sich nur um die Nicht-Selbst-Argumente kรผmmern
Schritt 6) Hier ist der vollstรคndige Code
# Example file for working with classes
class myClass():
def method1(self):
print("Guru99")
def method2(self,someString):
print("Software Testing:" + someString)
def main():
# exercise the class methods
c = myClass ()
c.method1()
c.method2(" Testing is fun")
if __name__== "__main__":
main()
Wie Vererbung funktioniert
Vererbung ist eine Funktion, die in der objektorientierten Programmierung verwendet wird. Es bezieht sich auf die Definition einer neuen Klasse mit geringeren oder keinen รnderungen an einer vorhandenen Klasse. Die neue Klasse wird aufgerufen abgeleitete Klasse und von einem, das es erbt, heiรt das Base. Python unterstรผtzt Vererbung; es unterstรผtzt auch mehrere Erbschaften. Eine Klasse kann Attribute und Verhaltensmethoden von einer anderen Klasse erben, die als Unterklasse oder Erbklasse bezeichnet wird.
Python Vererbungssyntax
class DerivedClass(BaseClass):
body_of_derived_class
Schritt 1) Fรผhren Sie den folgenden Code aus
# Example file for working with classes
class myClass():
def method1(self):
print("Guru99")
class childClass(myClass):
#def method1(self):
#myClass.method1(self);
#print ("childClass Method1")
def method2(self):
print("childClass method2")
def main():
# exercise the class methods
c2 = childClass()
c2.method1()
#c2.method2()
if __name__== "__main__":
main()
Beachten Sie, dass method1 in childClass nicht definiert ist, sondern von der รผbergeordneten myClass abgeleitet ist. Die Ausgabe ist โGuru99โ.
Schritt 2) Kommentieren Sie Zeile 8 und 10 aus. Fรผhren Sie den Code aus
Jetzt ist die Methode 1 in der childClass definiert und die Ausgabe โchildClass Method1โ wird korrekt angezeigt.
Schritt 3) Kommentieren Sie Zeile Nr. 9 aus. Fรผhren Sie den Code aus
Mithilfe der Syntax kรถnnen Sie eine Methode der รผbergeordneten Klasse aufrufen
ParentClassName.MethodName(self)
In unserem Fall rufen wir myClass.method1(self) auf und Guru99 wird wie erwartet gedruckt
Schritt 4:) Kommentieren Sie Zeile Nr. 19 aus. Fรผhren Sie den Code aus.
Methode 2 der untergeordneten Klasse wird aufgerufen und โchildClass method2โ wird wie erwartet gedruckt.
Python Konstruktoren
Ein Konstruktor ist eine Klassenfunktion, die ein Objekt mit vordefinierten Werten instanziiert.
Es beginnt mit einem doppelten Unterstrich (_). Es ist die Methode __init__()
Im folgenden Beispiel รผbernehmen wir den Namen des Benutzers mithilfe des Konstruktors.
class User:
name = ""
def __init__(self, name):
self.name = name
def sayHello(self):
print("Welcome to Guru99, " + self.name)
User1 = User("Alex")
User1.sayHello()
Ausgabe wird sein:
Willkommen bei Guru99, Alex
Python 2 Beispiel
Die obigen Codes sind Python 3 Beispiele, Wenn Sie in laufen wollen Python 2 Bitte beachten Sie den folgenden Code.
# How to define Python classes
# Example file for working with classes
class myClass():
def method1(self):
print "Guru99"
def method2(self,someString):
print "Software Testing:" + someString
def main():
# exercise the class methods
c = myClass ()
c.method1()
c.method2(" Testing is fun")
if __name__== "__main__":
main()
#How Inheritance works
# Example file for working with classes
class myClass():
def method1(self):
print "Guru99"
class childClass(myClass):
#def method1(self):
#myClass.method1(self);
#print "childClass Method1"
def method2(self):
print "childClass method2"
def main():
# exercise the class methods
c2 = childClass()
c2.method1()
#c2.method2()
if __name__== "__main__":
main()
Erfahren Sie in unserem nรคchsten Tutorial mehr darรผber Polymorphismus in Python
Zusammenfassung
โKlasseโ ist eine logische Gruppierung von Funktionen und Daten. Python Die Klasse bietet alle Standardfunktionen der objektorientierten Programmierung.
- Mechanismus zur Klassenvererbung
- Eine abgeleitete Klasse, die jede Methode ihrer Basisklasse รผberschreibt
- Eine Methode kann die Methode einer Basisklasse mit demselben Namen aufrufen
- Python Klassen werden durch Schlรผsselwรถrter definiert "Klasse" selbst
- Innerhalb von Klassen kรถnnen Sie Funktionen oder Methoden definieren, die Teil der Klasse sind
- Alles in einer Klasse ist eingerรผckt, genau wie der Code in der Funktion, Schleife, if-Anweisung usw.
- Das Selbstargument in Python bezieht sich auf das Objekt selbst. Selbst ist der Name, der von Konventionen bevorzugt wird Pythons zur Angabe des ersten Parameters von Instanzmethoden in Python
-
Python Die Laufzeit รผbergibt den Wert โselfโ automatisch, wenn Sie eine Instanzmethode in der Instanz aufrufen, unabhรคngig davon, ob Sie ihn absichtlich angeben oder nicht.
- In Python, eine Klasse kann Attribute und Verhaltensmethoden von einer anderen Klasse erben, die als Unterklasse oder Nachfolgerklasse bezeichnet wird.


