Objektorientierte Programmierung mit Java und BlueJ
Aufgaben
Es soll eine
Verkehrssimulation entworfen werden.
Im Rahmen der Vorüberlegungen taucht dabei der Begriff
Auto auf.
Handelt es sich dabei um eine Klasse oder ein Objekt?
Erkläre anhand des unten stehenden Bildes (Planeten)
die objektorientierten Begriffe
Objekt,
Klasse,
Attribut und
Methode.
Es soll ein
Grafikprogramm entworfen werden.
Damit soll es möglich sein, einfache geometrische Figuren zu zeichnen.
Diese haben zunächst eine Position, können aber sowohl vertikal als auch horizontal bewegt werden.
Entwirf für dieses Szenario ein
Klassendiagramm.
Mach Dir zunächst klar, welche Klassen benötigt werden und welche Attribute und Methoden diese Klassen haben.
Starte BlueJ und öffne das Projekt
Figuren / shapes.
- Erzeuge einige Objekte, z.B. einen Kreis (circle) und ein Quadrat (square).
- Mache die Objekte auf der Leinwand sichtbar (Methode makeVisible()).
- Bewege die Objekte an andere Positionen, z.B. den Kreis nach rechts
(Methode moveRight()) und das Quadrat nach oben (Methode moveUp())..
- Ändere die Größe der Objekte (Methode changeSize()),
mache z.B. das Quadrat größer und den Kreis kleiner.
- Ändere die Farbe der Objekte (Methode changeColor()),
z.B. den Kreis schwarz und das Quadrat grün.
- Bewege die Objekte an andere Positionen - benutze dieses Mal die Methoden moveHorizontal()
oder moveVertical().
- Erzeuge ein Bild mit einer Sonne und einem Haus (ähnlich der Abbildung rechts).
Arbeite weiter/wieder mit dem Projekt
shapes.
Die Aufgabe nun besteht darin, eine neue Klasse Rechteck zu erstellen,
die alle Methoden beinhaltet, die auch die anderen Klassen in diesem Projekt beinhalten.
Du kannst beispielsweise folgendermaßen vorgehen:
- Erzeuge eine neue Klasse Rechteck (new class).
- Kopiere den gesamten Quelltext aus der Klasse Quadrat und ersetze damit den Inhalt von Rechteck.
- Ersetze sämtliche Vorkommen des Begriffs Quadrat mit dem Begriff Rechteck.
- Überlege nun, was den Unterschied zwischen einem Quadrat und einem Rechteck ausmacht.
Ändere die entsprechenden Stellen im Quellcode.
Tipp 1
Tipp 2
- Teste deine neue Klasse, indem Du ein entsprechendes Objekt erzeugst und es sichtbar machst.
Arbeite weiter/wieder mit dem Projekt
shapes.
Die Aufgabe nun besteht darin, eine neue Klasse HausMitSonne zu erstellen,
die das Bild aus Aufgabe 4 direkt zeigt.
Du kannst beispielsweise folgendermaßen vorgehen:
- Erzeuge eine neue Klasse HausMitSonne.
- Füge die benötigten Attribute hinzu (das entspricht den Bestandteilen des Bildes). Tipp 3
- Füge in die Methode draw() die entsprechenden Befehle, sodass die Bestandteile des Bildes erzeugt und
entsprechend dem Bild verändert werden. Tipp 4
- Teste deine neue Klasse, indem Du ein entsprechendes Objekt erzeugst und es sichtbar machst.
Erkläre an einem Beispiel, was man in der Informatik unter
einem Parameter,
einem Datentypen und Rückgabewerten versteht
und welcher Zusammenhang dazwischen besteht.
Erkläre auch an einem Beispiel, was man in der Informatik unter
einem Konstruktor versteht.
Erkläre den Unterschied zwischen einer
sondierenden und einer
verändernden
Methode
und gib jeweils ein Beispiel aus dem Projekt
shapes dafür an.
Arbeite weiter/wieder mit dem Projekt
shapes.
Erzeuge zunächst einige Objekte, z.B. einen Kreis und ein Dreieck.
Untersuche nun deren Attribute.