Home > Informatik > Informatik EF > Folge 5

5.4 - Workshop "Gesicht"

In diesem Workshop wollen wir die Klasse Kreis aus der Folge 5.3 anwenden, um eine Klasse Gesicht zu entwickeln.

Schritt 1

Machen Sie sich noch einmal klar, wie Sie in Folge 5.3 die Kreise in drei aufeinanderfolgenden Schritten gezeichnet haben!

  1. Der Kreis / die Kreise wurden direkt in der paint-Methode des Applets gezeichnet.
  2. Wir haben die Befehle zum Zeichnen eines Kreises in eine Methode zeichneKreis ausgelagert, die Methode befand sich aber noch im Applet selbst. Die paint-Methode des Applets hat dann die Methode zeichneKreise mehrfach für verschiedene Kreise aufgerufen. Durchmesser, Farbe etc. der Kreise wurden mit Hilfe von Parametern geregelt.
  3. Wir haben die Befehle zum Zeichnen eines Kreise in eine eigene Klasse Kreis ausgelagert. Das Applet hat jetzt Objekte der Klasse Kreis angelegt und dann einfach von jedem Objekt die paint-Methode aufgerufen. Die Eigenschaften der Kreis-Objekte wurden in der init-Methode des Applets festgelegt, als die Kreis-Objekte erzeugt wurden.

Schritt 2

Auf ähnliche Weise wollen wir jetzt eine Klasse Gesicht erstellen. Die Aufgabe der Klasse Gesicht: Zeichne ein Gesicht, bestehend aus einem großen Kreis für den Kopf, zwei kleinen Kreisen für die Augen, einem länglichen Oval für die Nase und einem querliegenden Oval für den Mund.

Das allein wäre jetzt noch nichts Besonderes. Aber jetzt kommt es:

Die Klasse Gesicht wäre ja schön blöd, wenn sie die Kreise und Ovale selbst malen würde. Wozu haben wir eigentlich in Folge 5.3 die Klasse Kreis erzeugt?

Also: Die Klasse Gesicht soll zum Zeichnen der Kreise die bereits implementierte Klasse Kreis benutzen. Das heißt, die Klasse Kreis hat ein Kreis-Objekt gesicht und zwei Kreis-Objekte augeL und augeR. Die Nase und den Mund zeichnet die KlasseGesichtallerdings durch direkten Aufruf der fillRect-Methode der Klasse Graphics. Alternativ könnte man natürlich analog zur Klasse Kreis eine eigene Klasse Rechteck definieren, welche man dann zum Zeichnen von Nase und Mund verwenden könnte.

Übung 5.4-1

Erstellen Sie eine Klasse Gesicht wie oben beschrieben und testen Sie die Klasse in einem Java-Applet oder einer entsprechenden Anwendung.

Experten erstellen auch eine Klasse Rechteck und lassen die Klasse Gesichtdie Nase und den Mund dann mit zwei Rechteck-Objekten nase und mund zeichnen.

 

Interne Links:

Schritt 3

Sie haben in der Übung 5.4-1 dem Gesicht bestimmt einen festen Durchmesser gegeben von zum Beispiel 150 Pixeln. Entsprechend haben dann die Augen eine feste Position und eine feste Größe, ebenso die Nase und der Mund. Das ist aber äußerst unpraktisch, wenn man zum Beispiel mehrere Gesichter in einer Java-Anwendung verwenden will. Die Position und die Größe der Gesichter muss variabel sein.

Übung 5.4-2

Erweitern Sie die Klasse Gesicht so, dass sowohl die Position des Gesichtes wie auch dessen Durchmesser oder Radius frei bestimmt werden können.

Ein Applet mit einem kleinen und einem großen Gesicht in unterschiedlichen Farben und an unterschiedlichen Positionen. Das große Gesicht verdeckt das kleine Gesicht etwas.

Ein Applet mit einem kleinen und einem großen Gesicht

Dies soll mit Hilfe von Parametern beim Aufruf des Konstruktors der Klasse Gesicht geschehen. Selbstverständlich sollte man auch die Hautfarbe des Gesichtes bestimmen können.

Interne Links: