Eine abstrakte Klasse ist eine Blaupause für verwandte Klassen. Es kann nicht instanziiert werden, sondern kann nur durch Vererbung aufgerufen werden. Eine Unterklasse, die eine abstrakte Klasse erbt, ist erforderlich, um ihre abstrakten Methoden zu implementieren. Andernfalls meldet der Compiler einen Fehler.

Abstrakte Methoden sind Methoden ohne Implementierung. Eine abstrakte Klasse kann abstrakte Methoden oder konkrete (normale) Methoden haben.

Python unterstützt abstrakte Methoden nicht direkt, aber Sie können über die ABC (abstrakte Basisklasse) Modul.

Verwenden des abc-Moduls in Python

Um eine abstrakte Klasse in Python zu definieren, müssen Sie importieren das abc-Modul.

Siehe das Beispiel unten:

aus abc importieren ABC
Klasse AbstractClassName (ABC):
passieren

Beachten Sie das Schlüsselwort passieren. Dieses Schlüsselwort wird verwendet, um für leeren Code zu stehen. Wenn Sie es weglassen, wird ein Kompilierungsfehler ausgegeben.

Verwandt: Wird Julia ein Gebot für Pythons Thron abgeben?

Klassendefinitionen, Methodendefinitionen, Schleifen und wenn Anweisungen erwarten Codeimplementierungen. Wenn Sie sie weglassen, erhalten Sie einen Kompilierungsfehler. Um dies zu vermeiden, verwenden Sie passieren um den leeren Code zu ersetzen.

Um eine abstrakte Methode in Python zu definieren, verwenden Sie die @abstractmethod Dekorateur:

aus abc importieren ABC, abstractmethod
Klasse AbstractClassName (ABC):
@abstractmethod
def abstraktMethode (selbst):
passieren

An dieser Stelle wäre es gut zu erwähnen, dass abstrakte Methoden in Python im Gegensatz zu Java eine Implementierung haben können. Auf diese Implementierung kann in der überschreibenden Methode mit der Super() Methode.

abc importieren
Klasse AbstractClass (ABC):
def __init__(self, value):
Eigenwert = Wert
super().__init__()
@abc.abstractmethod
def some_action (selbst):
print("Dies ist die übergeordnete Implementierung.")
Klasse MySubclass (AbstractClassExample):
def some_action (selbst):
super().some_action()
print("Dies ist die Implementierung der Unterklasse. ")
x = MeineUnterklasse()
x.some_action()

Interessant ist, dass Sie einen Konstruktor in einer abstrakten Klasse definieren können.

In Zeile 9 können Sie das beobachten @abc.abstractmethod wurde als abstrakter Methodendekorator verwendet. Dies ist eine andere Möglichkeit als das vorherige Formular. Beachten Sie auch, dass Zeile 1 kürzer ist (abc importieren) als der frühere Import von Zeile 1, den Sie verwendet haben.

Es ist alles eine Frage der Wahl. Viele finden die zweite Methode jedoch kürzer.

Ausnahmebehandlung in Python

Beachten Sie, dass es im obigen Codebeispiel keine Möglichkeit gibt, Fehler zu erfassen. Fehler treten häufiger auf, und eine zuverlässige Möglichkeit, sie zu finden, kann ein entscheidender Faktor sein.

Diese Ereignisse, die den normalen Programmablauf stören, werden als "Ausnahmen" bezeichnet, und ihre Verwaltung wird als "Ausnahmebehandlung" bezeichnet. Als nächstes auf Ihrer Python-Leseliste sollte die Ausnahmebehandlung sein.

TeilenTweetEmail
Umgang mit Ausnahmen in Python

Decken Sie Ihre Programmiergrundlagen mit Python-Ausnahmen ab.

Weiter lesen

Verwandte Themen
  • Programmierung
  • Programmierung
  • Python
  • Programmiersprachen
Über den Autor
Jerome Davidson (24 Artikel veröffentlicht)

Jerome ist Staff Writer bei MakeUseOf. Er behandelt Artikel über Programmierung und Linux. Er ist auch ein Krypto-Enthusiast und behält die Krypto-Industrie immer im Auge.

Mehr von Jerome Davidson

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um zu abonnieren