FU Berlin, Institut für Informatik
Java-Kurs WS 2000/2001
M. Esponda
8. Übungsblatt
1. Aufgabe
a) Erzeuge ein Inhaltsverzeichnis mit dem Namen „u8“ und packe dort die Datei BallWorld.zip (siehe unsere Internet-Seite) aus.
b) Gehe in das Verzeichnis „u8“ und compiliere von da aus
alle java-Dateien aus dem Verzeichnis „ballworld“ wie folgt:
javac ballworld/Animate.java
javac ballworld/Ball.java
……..usw.
c) Starte das Programm mit „java ballworld.BallWorld Fall Shrinker UNO usw.
d) In dieser Aufgabe soll eine Klasse „MyBall“ definiert werden, die folgende zwei Schnittstellen implementiert:
public interface Ball
{
public double getX();
public double getY();
public double getRadius();
public void setWorld(World theWorld);
public void userClicked(double atX, double atY);
public
void userTyped(char key);
}
public interface Animate
{
public void act();
}
e)
Es soll eine bereits vorhandene World-Klasse verwendet
werden, die ein Fenster für Ball-Objekte zur Verfügung stellt. In
World-Objekten können sich Ball-Objekte bewegen. Bei der Implementierung der
MyBall-Klasse können durch eine Referenz auf ein World-Objekt folgende Methoden
benutzt werden:
public interface World
{
public double getMinX();
public double getMinY();
public double getMaxX();
public double getMaxY();
public Ball getClosestBall(Ball fromBall);
public void addBall(Ball aNewBall);
public void removeBall(Ball toBeRemoved);
}
f) Es sind einige Implementierungen im Verzeichnis ballworld vorhanden, die man starten kann. Versuche zuerst, eine dieser Implementierungen zu verändern, und dann wirst Du sicherlich viele Ideen für eine eigene Implementierung bekommen.
2. Aufgabe
Definiere eine Unterklasse "StopUhr", die die Klasse "Clock" erweitert.
a) Welche neuen Attribute brauche ich in meiner Klasse
"StopUhr"?
b) Welche neuen Methoden sollte man sinnvollerweise definieren?
c) Welchen Rückgabewert sollen meine Methoden haben?
d) Wie kann ich meine neue Klasse sinnvoll testen?
Definiere eine Klasse "TestStopUhr", die die Klasse "StopUhr" überprüft.
3. Aufgabe
Definiere
eine Unterklasse „MyClockWindow“, die die Klasse „Frame“ aus
der java.awt.*
Bibliothek so erweitert, dass die Uhrzeit im Fenster angezeigt wird.
4. Aufgabe
a) Definiere eine Klasse StopUhrFenster, die eine graphische
Oberfläche für deine StopUhr erzeugen kann.
b) Die Ausgaben deiner StopUhr, bis jetzt nur auf dem DOS-Fenster, sollen jetzt auf deine StopUhrFenster-Objekt umgeleitet werden.