Klasse Super Javascript

| | | |

Mit der Super()-Methode von Python können Sie auf Methoden einer ubergeordneten Klasse innerhalb einer untergeordneten Klasse zugreifen. Dies trägt dazu bei, Wiederholungen in Ihrem Code zu reduzieren. super() akzeptiert keine Argumente.

Ein Kernmerkmal objektorientierter Programmiersprachen wie Python ist die Vererbung. Vererbung ist, wenn eine neue Klasse Code einer anderen Klasse verwendet, um die neue Klasse zu erstellen.

Wenn Sie Klassen erben, möchten Sie möglicherweise auf Methoden einer ubergeordneten Klasse zugreifen. Hier kommt die Funktion super() ins Spiel.

Dieses Tutorial behandelt mit Beispielen die Grundlagen der Vererbung in Python. Dann sprechen wir daruber, wie die Funktion super() verwendet wird, um Werte und Methoden von einer ubergeordneten Klasse zu erben.

Was ist Python Super?

Mit der Python-Methode super() können Sie auf Methoden in einer ubergeordneten Klasse zugreifen. Sie können sich super() als Möglichkeit vorstellen, nach oben zu springen, um die Methoden in der Klasse anzuzeigen, von der eine andere Klasse geerbt wurde.

Hier ist die Syntax fur die super()-Methode:

Die Methode super() akzeptiert keine Argumente. Sie geben die Methode an, die Sie nach der Methode super() erben möchten. Die obige Python-Klasse erbt die Werte von der __init__()-Methode der Food-Klasse. Wir rufen die Klassenmethode super() auf, um Werte von der Klasse Food zu erben.

Python-Vererbung bezieht sich auf einen Prozess, bei dem eine neue Klasse verwendet Code aus einem bestehenden Kurs, um die Struktur des neuen Kurses zu definieren.

81 % der Teilnehmer gaben an, dass sie sich nach dem Besuch eines Bootcamps hinsichtlich ihrer Berufsaussichten im Tech-Bereich sicherer fuhlten. Lassen Sie sich noch heute in ein Bootcamp einweisen.

Der durchschnittliche Bootcamp-Absolvent verbrachte weniger als sechs Monate im Karriereubergang, vom Beginn eines Bootcamps bis zur Suche nach seinem ersten Job.

Eine Möglichkeit, uber das Erbe nachzudenken ist zu uberlegen, wie Kinder Eigenschaften von ihren Eltern erben. Ein Kind kann dieselbe Haarfarbe wie seine Eltern haben und auch seinen Nachnamen von seinen Eltern erben.

In Python gibt es zwei Arten von Klassen:

  • Kinderklassen (oder "Unterklassen‚") erben Methoden und Variablen. Untergeordnete Klassen werden manchmal als Geschwisterklassen bezeichnet.
  • Elternklassen (oder "Basisklassen‚") sind Klassen, deren Werte vererbt werden k√∂nnen.

super() Python: Von __init__() erben

Angenommen, wir bauen ein Bankkontosystem auf, das die Anmeldeinformationen von Personen verfolgt, die ein Konto bei einer Bank besitzen , möchten wir eine Klasse erstellen, die Daten fur Girokonten speichert. Dazu können wir diesen Code verwenden:

Dieser Code erstellt einen Entwurf eines Girokontos.

Angenommen, wir möchten eine Klasse erstellen, die den Entwurf fur untergeordnete Bankkonten speichert, die wir ChildAccount nennen Die Klasse sollte auf der Klasse CheckingAccount basieren, die wir zuvor definiert haben. Dazu können wir die Funktion super() verwenden.

super() ermöglicht den Zugriff auf Methoden einer Elternklasse innerhalb einer Kindklasse.

In unserem Beispiel heißt unsere Elternklasse CheckingAccount, und unsere untergeordnete Klasse heißt ChildAccount. CheckingAccount erstellt die Blaupause fur ein Bankkonto und ChildAccount erbt Werte von CheckingAccount, um eine eigene Klasse zu erstellen.

Jetzt , nehmen wir an, wir möchten, dass die Klasse ChildAccount die in unserem CheckingAccount gespeicherten Werte erbt. Aber wir möchten auch, dass dieses Konto einen neuen Wert namens is_child speichert, der standardmäßig gleich True sein sollte.

Wir könnten unseren neuen ChildAccount Klasse mit diesem Code:

Dieser Code erstellt eine Blaupause fur unsere neue ChildAccount-Klasse. Wir verwenden die Methode super(), um den Namen und die Saldenwerte von der Klasse CheckingAccount zu erben. Wir geben CheckingAccount als Elternklasse in Klammern in der ersten Zeile unserer Klasse an.

Dies zeigt, dass Sie mit super() alle Werte aus einer anderen Klasse. Aber in unserem Code haben wir auch einen neuen Wert namens is_child deklariert. Dieser Wert ist nur fur ChildAccount zugänglich, da wir ihn in der Klasse ChildAccount deklariert haben.

Um eine Instanz unserer Klasse fur einen untergeordneten Kontoinhaber zu erstellen, können wir diesen Code verwenden:

Unsere Code gibt zuruck:

Wir haben eine Instanz deklariert der Klasse ChildAccount, die der Python-Variable lynn zugewiesen ist. lynn is ein Klassenobjekt, weil wir den Wert von lynn mithilfe eines Objekts deklariert haben.

Lynns Konto hat $200 und der Wert von is_child ist True Dann haben wir die Werte von name, saldo, is_child ausgedruckt, die mit Lynns Acc . verknupft sind aus. Wir geben diese Werte mit der Python print()-Methode an die Konsole aus.

Weil wir . geerbt haben name und saldo aus der Klasse CheckingAccount, konnten wir sie in unserem Code verwenden. Lynns Konto hat jedoch auch einen Wert fur is_child, der standardmäßig fur alle Instanzen des ChildAccount auf True gesetzt ist.

super () Python: Methoden erben

super() ermöglicht es Ihnen, Klassen entweder mit einstufiger Vererbung zu erben oder eine Klasse von einer Elternklasse zu erben. Oder Sie können super() mit mehrstufiger Vererbung verwenden. In diesem Beispiel konzentrieren wir uns auf die einstufige Vererbung mit super().

In unserem vorherigen Beispiel haben wir super() verwendet, um erben Werte, die in der Klasse CheckingAccount gespeichert sind, und machen sie in der Klasse ChildAccount zugänglich. Aber was ist, wenn wir eine Methode erben und ihre Reaktion ändern wollen?

"Karriere-Karma trat in mein Leben ein, als ich es am dringendsten brauchte und half mir schnell, mit einem Bootcamp zusammenzuarbeiten. Zwei Monate nach meinem Abschluss fand ich meinen Traum Job, der meinen Werten und Zielen im Leben entspricht!"

Venus, Software Engineer bei Rockbot

Gehen wir zuruck zu unserem CheckingAccount-Klasse von fruher:

In dieser Klasse haben wir die Blaupause fur Werte definiert, die die Klasse speichern soll &mdash ; Name und Guthaben. Wir haben eine Methode namens checkBalance() definiert, die es einem Benutzer ermöglicht, seinen Kontostand zu uberprufen.

Angenommen, wir m√∂chten checkBalance() fur unser Kinderkonto zug√§nglich machen "Sie sind ein untergeordneter Kontoinhaber!‚" Dies sollte erscheinen, bevor das Guthaben des Benutzers auf der Konsole gedruckt wird.

Wir könnten wie folgt auf unsere geerbten Methoden zugreifen:

Wir haben eine neue Version der Methode checkBalance() in der Klasse ChildAccount deklariert. Diese Version gibt zuerst "Sie sind Inhaber eines Kinderkontos!‚" zur Konsole. Dann unsere Code verwendet es super(), um die Methode checkBalance() aus der Klasse‚Äô parent.

In diesem Fall, wenn super().checkBalance() ausgefuhrt wird, wird die Funktion checkBalance() aus dem CheckingAccount-Klasse wird ausgefuhrt. Dadurch wird der Kontostand des Benutzers in der Konsole ausgegeben.

Jetzt versuchen wir, auf unsere Methode checkBalance() fur Lynns Konto zuzugreifen:

Unsere Code gibt zuruck:

Wenn wir die Methode lynn.checkBalance() aufrufen, lautet der Code in unserer Methode ChildAccount.checkBalance() run, und dann fuhrt das Super-Objekt den Code in der Methode CheckingAccount.checkBalance() aus.

Die super()-Funktion ermöglicht uns die Verwendung von parent Methoden, während Sie diese Methoden in unseren untergeordneten Klassen immer noch uberschreiben können.

Schlussfolgerung

Mit der Python-Funktion super() können Sie Methoden von einer ubergeordneten Klasse erben Klasse. Die Funktion super() hilft Ihnen, lesbareren Code zu schreiben, da Sie Code aus vorhandenen Funktionen wiederverwenden können.

In diesem Tutorial wurde mit Beispielen beschrieben, wie Sie die Funktion super() verwenden, um erben Werte und Methoden von einer Elternklasse. Jetzt verfugen Sie uber das nötige Wissen, um die super()-Funktion wie ein Python-Profi zu verwenden!

Weitere Ressourcen zur Python-Programmierung finden Sie in unserer vollständigen Anleitung zum Erlernen von Python.

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method