Objektorientierte Programmierung WS 2013/2014 - Lösung 1
Prof. Dr. U. KastensInstitut für Informatik, Fakultät für Elektrotechnik, Informatik und Mathematik, Universität Paderborn
Ausgabe: 15.10.2013
Lösung zu Aufgabe 1
Siehe Vorlesungsunterlagen.
Lösung zu Aufgabe 3
Das Programm BallWorld war abzuändern, so dass
- nicht mehr nach wenigen Sekunden abbricht, sondern beliebig
lange weiterläuft
Lösung:
- Ersetzen von
counter = counter + 1; if (counter < 2000) repaint(); else System.exit(0);
in der Klasse BallWorld durch
repaint();
- Entfernen der Variable counter
- Ersetzen von
- dass man es durch Klicken auf die "Abbrechen"-Schaltfläche am rechten
oberen Fensterrand beenden kann
Lösung:
Einfügen des entsprechenden Event-Listeners in Konstruktor der Klasse BallWorld :
WindowListener wl = new WindowAdapter(){ public void windowClosing(WindowEvent e) { System.exit( 0 ); } }; addWindowListener(wl);
Dies ist ein Beispiel für die Verwendung einer anonymen inneren Klasse.
- dass der Ball doppelt so groß ist und beim Start des Programmes
eine zufällige Farbe bekommt.
Lösung:
Ersetzen von
aBall = new Ball (10, 15, 5); aBall.setColor (ballColor);
in der Klasse BallWorld durch
aBall = new Ball (10, 15, 10); aBall.setColor (new Color((float)Math.random(), (float)Math.random(), (float)Math.random()));
Lösung zu Aufgabe 4
Die Klasse Ball wird in zwei Klassen aufgespalten: Die neue Klasse Ball kennt nur die Grösse, Position und Farbe und weiß, wie Bälle gezeichnet werden. Die zweite Klasse MovableBall erweitert Ball und fügt alles hinzu, was mit der Bewegung des Balles zu tun hat.
Die gesamte Lösung der Aufgaben 3 und 4 befindet sich inGeneriert mit Camelot | Probleme mit Camelot? | Geändert am: 05.11.2013