Add aufgabe
This commit is contained in:
parent
644fde4f6e
commit
bc02ea3e87
46
klassen.md
46
klassen.md
|
@ -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)?
|
||||
|
|
Loading…
Reference in New Issue