Klassen & Objekte
Klassen bündeln Daten und Verhalten. In Python sind Objekte allgegenwärtig - auch Zahlen, Strings und Listen sind Objekte.
Ansicht
01
Verstehen
Lies die Kernidee und das Beispiel.
02
Prüfen
Beantworte die Aktiv-Checks.
03
Anwenden
Setze die Transferaufgabe um.
Lerninhalt
Verstehen & anwenden
Klassen und __init__
Eine Klasse ist ein Bauplan.
__init__ initialisiert ein neues Objekt, self verweist auf die konkrete Instanz.
Attribute wie self.stand gehören zum Objekt. Methoden greifen über self auf sie zu.
class Konto:
def __init__(self, inhaber, stand=0):
self.inhaber = inhaber
self.stand = stand
def einzahlen(self, betrag):
self.stand += betrag
konto = Konto("Ada", 100)
konto.einzahlen(50)
print(konto.stand) # 150Methoden und Kapselung
Methoden beschreiben Verhalten.
Mit einem führenden Unterstrich wie _stand signalisierst du: bitte nicht von aussen direkt ändern.
Echte Zugriffskontrolle gibt es nicht, aber Validierung in Methoden verhindert ungültige Zustände.
class Konto:
def __init__(self):
self._stand = 0
def abheben(self, betrag):
if betrag > self._stand:
raise ValueError("Nicht genug Guthaben")
self._stand -= betragVererbung und dataclasses
Eine Unterklasse erbt Methoden und kann sie überschreiben.
super() ruft die Oberklasse auf.
Für reine Datenklassen ist @dataclass oft kürzer: Sie erzeugt __init__, __repr__ und Vergleichsmethoden.
from dataclasses import dataclass
class Fahrzeug:
def fahren(self):
return "fährt"
class Fahrrad(Fahrzeug):
def fahren(self):
return "fährt mit Muskelkraft"
@dataclass
class Punkt:
x: int
y: int
print(Fahrrad().fahren())
print(Punkt(3, 7))Aktiv-Check
Teste dein Verständnis
Erkennen: Welcher Abschnitt passt?
Welcher Abschnitt passt zu diesen Begriffen?
Transfer
Mini-Projekt: Haushaltsbuch
Baue ein kleines Haushaltsbuch, das Ausgaben als Dictionaries speichert, Summen berechnet und die Einträge in einer Datei sichert.
Selbstcheck
Kann ich das schon?
Hake ab, was du wirklich erklären oder selbst bauen könntest.
Fortschritt
Bereit zum Abschließen?
Markiere die Lektion als abgeschlossen, um XP und Streak zu erhalten.