Grundlagen der Programmierung 2 SS 2005 - Aufgabenblatt 1
Ausgabe: 15.04.2005
Aufgabe 1 (Objektorientierung)
Wie unterstützt Java die objektorientierte Programmierung?
Diskutieren Sie anhand der Folie 87b die Begriffe
- Schnittstellenabstraktion, Typabstraktion
- Spezialisierung, Generalisierung, Typhierarchie, Polymorphie
- Vererben, Überschreiben, Überladen
- Dynamische Methodenbindung
- Abstrakte Klassen / Methoden und Interfaces
- Zugriffsrechte
- Klassenmethoden / -variablen und Objektmethoden / -variablen
Aufgabe 2 (Zeichnen von Rechtecken und Ellipsen)
Erzeugen Sie in einem JFrame
viele bunte Ellipsen und Rechtecke.
Benutzen Sie zum Zeichnen der Ellipsen und Rechtecke die Graphics-Methoden
-
fillOval(int x, int y, int width, int height)
-
fillRect(int x, int y, int width, int height)
Wählen Sie auch die Farben der Elemente zufällig. Die Farbe des zu zeichnenden Elements definieren Sie vor dem Zeichnen jeweils mit der Graphics-Methode
-
setColor(Color c)
.
-
new Color(int r, int g, int b)
Aufgabe 3 (Zeichnen eines Balkendiagramms)
Gegeben sei eine Datei Endnoten.txt
, die eine
Aufstellung aller Noten nach Korrektur einer beliebigen Fachprüfug enthält.
Lesen Sie die Daten ein und stellen Sie diese in Form eines Balkendiagramms dar.
Beim Lesen der Daten soll gleichzeitig festgestellt werden wie oft jede Note in
der Datei Endnoten.txt
vorkommt. Die Höhe der Balken ergibt sich daraus.
Beschriftung der Achsen
- x-Achse: 1.0 1.3 1.7 ...5.0
- y-Achse: z.B 0 5 10 ... etc.
Hinweise
- Folie 90a des Skripts zeigt die Erstellung eines Balkendiagramms.
- Um die Aufgaben zu bearbeiten, ist es ggf. notwendig in der Datei .cshrc
den CLASSPATH um ":/usr/java/upb-extension" Teile zu erweitern.
- Bsp.:
setenv CLASSPATH .:/usr/java/upb-extension/javagently.jar
Aufgabe 4 (Wiederverwendung von Klassen aus Bibliotheken)
In der zusammen mit diesen Aufgaben erscheinenden Datei
gamelet.jar
ist ein Paket gamelet
zur Implementierung einfacher Spiele enthalten. Das Paket ist unter
gameletDoc/Package-gamelet.html
beschrieben.
In einer Beispielanwendung werden 5 Kugeln dargestellt, die sich von einer zufälligen Anfangsposition aus mit zufälliger Geschwindigkeit über eine Ebene bewegen.
- a)
-
Kopieren Sie die Beispielanwendung aus
blatt1/boink
in ein eigenes Verzeichnis. Übersetzen und starten Sie das Programm. Lesen Sie die Gamelet-Dokumentation.Hinweis: Dazu müssen Sie zusätzlich die Datei
gamelet.jar
neben die Java-Quelltexte legen und beim Aufruf der javac- bzw. java-Kommandos mit einbinden:
javac -classpath .:gamelet.jar Boink.java
java -classpath .:gamelet.jar BoinkWie kann ein
Actor
die Größe des sichtbaren Bereichs abfragen? - b)
-
Fügen Sie der Beispielanwendung eine Ballsorte
BounceBall
hinzu. DieBounceBall
-Bälle sollen im Gegensatz zuSimpleBall
-Bällen an den Rändern des sichtbaren Spielfeldes abprallen.Hinweise:
- Überschreiben Sie hierzu die Methode
calculateNewPosition
von Actor. - Die Position (0,0) des Spielfeldes und die eines Actors ist jeweils die linke obere Ecke.
- Betrachten Sie deshalb das um die Breite und Höhe des Actors verkleinerte Spielfeld.
- Überschreiben Sie hierzu die Methode
- c)
-
Fügen Sie der Beispielanwendung eine weitere Ballsorte
Hole
(engl. Loch) hinzu. Ein Loch soll sich an einer zufällig gewählten Stelle auf dem Spielfeld plazieren und sich nicht bewegen. Kollidiert ein Ball mit einem Loch, so soll der Ball vom Spielfeld gelöscht werden. Zur visuellen Darstellung eines Lochs können Sie das inhole.gif
dargestellte Loch verwenden.
Generiert mit Camelot | Probleme mit Camelot? | Geändert am: 05.02.2009