Add aufgabe

This commit is contained in:
Henri Burau 2020-04-22 09:50:03 +02:00
parent 644fde4f6e
commit bc02ea3e87
1 changed files with 45 additions and 1 deletions

View File

@ -6,7 +6,51 @@ header: Programmieren 1 **Tutorium**
footer: Henri Burau und Eva Meinen
-->
# Klassen
Vorlagen für konkrete Exemplare. Bestehen aus Methoden und Variablen. Eine Klasse ist ein neuer Datentyp.
```java
class Counter {
private int counts = 0;
public void countUp() {
counts++;
}
public int getCount() {
return counts;
}
}
```
---
## Benutzen von Klassen
Erzeugen von neuen Exemplaren mit `new`. Methoden werden mit der Punktnotation an einem Exemplar aufgerufen.
```java
public static void main(String[] args) {
Counter counter = new Counter();
System.out.printf(counter.getCount());
counter.countUp();
counter.countUp();
System.out.printf(counter.getCount());
}
```
---
# Aufgaben
TODO: Schaf
Schreibe eine Klasse Schaf. Das Schaf soll zwei Attribute haben:
* `age` (in Tagen gemessen, Ganzzahl)
* `health` (Maximal 10, Minimal 0, Fließkommazahl)
Folgende Methoden braucht das Schaf:
* `getHealth` gibt die aktuelle `health` zurück
* `damage double ` verringert die `health` um `amount`
* `feed double` erhöht die `health` um `amount`
* `sleep` macht das Schaf einen Tag älter
* `getAge` gibt `age` zurück
* `isAlive` ist das Schaf noch am Leben?
* `isAdult` ist das Schaf erwachsen (älter als 10 Tage)?