Zum Hauptinhalt springen

Objekte miteinander arbeiten lassen

Beispiel

class Spieler:
def __init__(self, name, leben):
self.name = name
self.leben = leben

def treffe(self, anderer, schaden):
anderer.leben = anderer.leben - schaden
print(f"{self.name} trifft {anderer.name} (-{schaden})")

held = Spieler("Luna", 10)
gegner = Spieler("Buggy", 8)
held.treffe(gegner, 3)
print(gegner.leben)

Objekte sind nicht allein – sie interagieren.

Rate mal!

Wer verliert Leben?

Auflösung

anderer – hier gegner.

Probiere es selbst

Experiment 1

schenke Punkte von A nach B.

Experiment 2

Lehrer.bewerte(schueler, note).

Experiment 3

Zwei Haustiere: eines „tröstet“ das andere (Laune +).

Übungen

Level 1

Methode bekommt ein anderes Objekt und printet dessen name.

Level 2

heilen(ziel, menge).

Level 3

Mini-Kampf 3 Runden.

Level-2-Lösung
class Heiler:
def heilen(self, ziel, menge):
ziel.leben = ziel.leben + menge

class Held:
def __init__(self):
self.leben = 5

h = Held()
Heiler().heilen(h, 2)
print(h.leben)

Mini-Quiz

Mini-QuizKoennen Methoden andere Objekte veraendern?

Interaktion sitzt! Als Nächstes: Objektdaten speichern.