Methoden
Teil des Abschnitts Objektorientierte Programmierung der Python-Journey von Coddy. Lektion 5 von 64.
Methoden sind Funktionen, die zu einer Klasse gehören. Sie definieren die Verhaltensweisen oder Aktionen, die Objekte ausführen können.
Hier ist ein Beispiel für eine Klasse mit Methoden:
class Calculator:
def greet(self):
print("Hello! I'm a calculator.")
def add(self, a, b):
return a + b
def multiply(self, x, y):
result = x * y
print(f"{x} × {y} = {result}")
return resultErstelle ein Rechnerobjekt:
my_calc = Calculator()Rufe eine Methode auf, die keine Parameter benötigt:
my_calc.greet()Methoden mit Parametern aufrufen:
sum_result = my_calc.add(5, 3)
print(sum_result)Rufe eine Methode auf, die sowohl einen Wert ausgibt als auch zurückgibt:
product = my_calc.multiply(4, 7)Ausgabe:
Hello! I'm a calculator.
8
4 × 7 = 28Methoden können:
- Parameter wie
add(self, a, b)entgegennehmen - Werte wie
return a + bzurückgeben - Ausgaben direkt wie
print("Hello!")ausgeben - Sowohl Ausgaben ausgeben als auch Werte zurückgeben
Wichtiger Punkt: Methoden legen fest, was deine Objekte tun können. Füge immer self als ersten Parameter ein, aber übergib ihn nicht, wenn du die Methode aufrufst.
Aufgabe
EinfachIn dieser Herausforderung implementierst du ein Banksystem. Du erstellst in einer Datei eine BankAccount-Klasse und verwendest sie in einer anderen Datei, um zu zeigen, wie du deinen Code für eine bessere Wartbarkeit organisieren kannst.
Du arbeitest mit zwei Dateien:
- bank_account.py: Hier definierst du deine
BankAccount-Klasse - driver.py: Hier importierst du die Klasse, erstellst ein Konto und führst Transaktionen durch
Erstelle in bank_account.py eine BankAccount-Klasse mit:
- einem Klassenattribut
bank_name, das auf „Python National Bank“ gesetzt ist - einer Methode
deposit, die einen Betrag entgegennimmt und ihn zum Kontostand addiert - einer Methode
withdraw, die einen Betrag entgegennimmt und ihn vom Kontostand subtrahiert - einer Methode
get_balance, die den aktuellen Kontostand zurückgibt
Importiere anschließend in driver.py deine BankAccount-Klasse, erstelle ein Konto, zahle $100 ein, hebe $30 ab und gib den Kontostand mit folgendem Format aus: f"Current balance: ${my_account.get_balance()}"
Probier es selbst
from bank_account import BankAccount
# Erstelle ein Konto und teste deine Methoden
my_account = BankAccount()
my_account.balance = 0 # Startguthaben
# TODO: Tätige Transaktionen
# (Dein Code hier)
# TODO: Gib den Endsaldo aus
# (Dein Code hier)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