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

Definierung Python Unterricht

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.

Definierung Python Unterricht

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.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: