Dekorator für statische Methoden
Teil des Abschnitts Objektorientierte Programmierung der Python-Journey von Coddy. Lektion 11 von 64.
Der Dekorator @staticmethod erstellt Methoden, die weder self noch die Klasse benötigen. Sie funktionieren wie reguläre Funktionen, gehören aber zur Klasse.
Hier ist ein Beispiel für eine Klasse mit statischen Methoden:
class MathHelper:
@staticmethod
def add(a, b):
return a + b
@staticmethod
def is_even(number):
return number % 2 == 0Rufe statische Methoden mit dem Klassennamen auf:
result = MathHelper.add(5, 3)
print(result)
check = MathHelper.is_even(10)
print(check)Du kannst sie auch von einem Objekt aus aufrufen:
helper = MathHelper()
result2 = helper.add(2, 4)
print(result2)Ausgabe:
8
True
6Statische Methoden greifen nicht auf Instanz- oder Klassendaten zu:
class Calculator:
brand = "Python Calc"
def __init__(self, owner):
self.owner = owner
@staticmethod
def multiply(x, y):
# Cannot access self.owner or Calculator.brand
return x * yWichtiger Punkt: Verwende @staticmethod, wenn du eine Funktion benötigst, die mit der Klasse zusammenhängt, aber keinen Zugriff auf die Instanz (self) oder Klassendaten benötigt. Kein self-Parameter erforderlich.
Probier es selbst
Diese Lektion enthält keine Programmieraufgabe.
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Objektorientierte Programmierung
1Grundlagen der OOP
Externe DateienEinführung in die OOPKlassen vs. ObjekteDer self-ParameterMethodenAttributeKonstruktormethode (__init__)Zusammenfassung – Einfacher Taschenrechner4Vererbung
Grundlegende VererbungDie super()-FunktionMethodenüberschreibungMehrfachvererbungMethodenauflösungsreihenfolgeWiederholung – Mitarbeiterhierarchie7Spezielle Methoden
Einführung in magische MethodenOperatorüberladungMagische Methoden für ContainerRückblick – Benutzerdefinierte Liste10Entwurfsmuster Teil 1
Einführung in EntwurfsmusterSingleton-MusterFactory-MusterObserver-MusterStrategy-Muster13Abschließende Herausforderungen
E-Learning-PlattformBankensystemEntwicklung von SpielfigurenFahrzeugvermietungsservice2Dekoratoren
Einführung in DekoratorenProperty-DekoratorDekorator für statische MethodenDekorator für Klassenmethoden5Polymorphie
Methodenüberschreibung erneut betrachtetDuck-TypingAbstrakte Klassen und MethodenSchnittstellendesignRückblick – Formrechner8Fortgeschrittene OOP-Konzepte
Komposition vs. VererbungMixinsStatische Methoden und KlassenmethodenKlassen-DekoratorenKontextmanager3Klassenattribute
Instanz- vs. KlassenvariablenProperty-DecoratorsPrivate AttributeWiederholung – Bankkontoverwaltung6Kapselung
Öffentliche, geschützte, private MemberZugriffsmodifikatorenInformationsverbergungProperty-Decorators – FortgeschrittenWiederholung – System zur Verwaltung von Studentendaten12Projekt: Bibliotheksverwaltung
ProjektübersichtBuch- und BenutzerklassenAusleihsystemSuchfunktionAdministrationsoberflächeTests und IntegrationÜbe selbstständig: Online-Python-Compiler