Methoden
Modellierung der Methoden
Wir wollen nun die Methoden der Klasse Tier ergänzen.
-
Ein Tier kann sich
langweilen, dann verliert es Energie und Glück. Es kannspielen, dann verliert es Energie, aber gewinnt Glück. Wie viel es genau verliert oder gewinnt, kannst du selbst festlegen. -
Ein Tier kann man
fuetternund übergibt als Parameter die Menge an Futter in Form einer ganzen Zahl. Dabei erhöht sich die Energie des Tiers um die übergebene Menge, allerdings kann die Energie nicht über 10 steigen. Überschüssiges Futter wird also nicht mehr berücksichtigt. -
Schließlich kann man ein Tier über die Methoden
istGluecklich,istTraurigundistVerhungertbefragen, um herauszufinden, ob das Tier glücklich, traurig oder verhungert ist. Ein Tier ist glücklich, wenn sein Glückslevel mindestens 20 beträgt, es ist traurig, wenn sein Glückslevel kleiner oder gleich 0 ist, und es ist verhungert, wenn sein Energielevel kleiner oder gleich 0 ist.
Aufgabe 1
Spiel-Klasse passt.
Achte darauf, dass die Methoden die richtigen Parameter und Rückgabewerte haben.
Methoden der Klasse Person
Im vorherigen Abschnitt haben wir bei den Übungen die Klasse Person verwendet.
Hier siehst du einen Teil einer möglichen Implementierung der Klasse:
class Person(
var name: String,
val geburtstagTag: Int,
val geburtstagMonat: Int,
val geburtsjahr: Int
) {
fun berechneAlter(): Int {
// Die exakte Berechnung ist hier nur angedeutet
return aktuellesJahr - geburtsjahr
}
fun istVolljaehrig(): Boolean {
if(berechneAlter() >= 18) {
return true
} else {
return false
}
}
fun druckeInfo() {
// Ausgabe der Informationen über die Person
}
fun berechneAlterAm(tag: Int, monat: Int, jahr: Int): Int {
// Die exakte Berechnung ist hier nur angedeutet
return jahr - geburtsjahr
}
}
Aufgabe 2
- Methoden ohne/mit Parameter und ohne/mit Rückgabewert implementiert werden
- Fallunterscheidungen in Kotlin implementiert werden
Aufgabe 3
Tier entsprechend
und teste sie mit einem Hauptprogramm.
Hilfe zu langweilen und spielen
Die Methoden haben keine Parameter und keinen Rückgabewert.
Sie verändern nur die Werte der Attribute energie und
glueckslevel.
Dazu musst du einen neuen Wert für die Attribute berechnen und diesen dann zuweisen.
Dazu folgst du dem Muster attribut = attribut + wert,
um attribut um wert zu erhöhen.
Hilfe zu fuettern
Die Methode fuettern hat einen Parameter, der die Menge an Futter angibt.
Du kannst diesen Parameter verwenden, um die Energie des Tiers zu erhöhen.
Allerdings darf die Energie nicht über 10 steigen.
Dies erreichst du mit Hilfe einer Fallunterscheidung, die überprüft,
ob die neue Energie größer als 10 wäre, und in diesem Fall die Energie auf 10 setzt.
Ansonsten wird die Energie einfach um die übergebene Menge erhöht.
Hilfe zu istGluecklich, istTraurig und istVerhungert
Du kannst dich sehr nah an der Methode der Klasse Person orientieren,
die überprüft, ob eine Person volljährig ist.