Programmieren_1/klassen.md

1.3 KiB

Klassen

Vorlagen für konkrete Exemplare. Bestehen aus Methoden und Variablen. Eine Klasse ist ein neuer Datentyp.

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.

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

Schreibe eine Klasse Schaf. Das Schaf soll zwei Felder 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)?