g9:uebungen:klassen_anwenden:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
g9:uebungen:klassen_anwenden:start [2021/01/20 12:50] – angelegt Martin Pabst | g9:uebungen:klassen_anwenden:start [2021/01/20 12:52] – [Instanzieren der "Welt"] Martin Pabst | ||
---|---|---|---|
Zeile 117: | Zeile 117: | ||
- | ===== Genaue Betrachtung: | ||
- | Schau' Dir folgendes Beispielprogramm an: | ||
- | < | ||
- | |||
- | <div class=" | ||
- | |||
- | <script type=" | ||
- | Rectangle r; // Deklarieren der Variable r vom Typ Rectangle | ||
- | r = new Rectangle(10, | ||
- | // r zeigt jetzt auf das Rechteck-Objekt. | ||
- | Rectangle k; | ||
- | k = r; // Der Wert von r (d.h. die Adresse des Rechteck-Objekts) wird in die Variable k hineinkopiert | ||
- | k.setFillColor(Color.red); | ||
- | r.rotate(30); | ||
- | </ | ||
- | </ | ||
- | |||
- | </ | ||
- | |||
- | Wie viele '' | ||
- | Zum Vergleich ein ähnliches Programm mit '' | ||
- | < | ||
- | |||
- | <div class=" | ||
- | |||
- | <script type=" | ||
- | int r; // Deklarieren der Variable r vom Datentyp int | ||
- | r = 10; // Instanzieren eines neuen Rechteck-Objekts und Zuweisen zu r | ||
- | // r zeigt jetzt auf das Rechteck-Objekt. | ||
- | int k; | ||
- | k = r; // Der Wert von r wird in die Variable k hineinkopiert | ||
- | k = k * 2; | ||
- | println(" | ||
- | println(" | ||
- | </ | ||
- | </ | ||
- | |||
- | </ | ||
- | Was gibt das Programm aus? \\ | ||
- | |||
- | Eine ausführliche Erklärung für dieses merkwürdige Phänomen findest Du auf [[.objektreferenzen: | ||
- | |||
- | |||
- | |||
- | ===== Instanzieren der " | ||
- | Damit graphische Objekte ausgegeben werden können, muss zunächst die Grafikausgabe " | ||
- | <code learnj> | ||
- | new World(800, 600); | ||
- | </ | ||
- | Die übergebenen Koordinaten (800, 600) sind die Koordinaten der rechten unteren Ecke der Welt. Dabei ist zu beachten, dass die positive y-Achse - wie bei Computersystemen meist üblich - nach unten zeigt. Hier eine des Welt-Koordinatensystems: | ||
- | {{ : | ||
- | Falls Du vergisst, ein Welt-Objekt zu instanzieren, | ||
==== Beispiel 2: gedrehte Rechtecke ==== | ==== Beispiel 2: gedrehte Rechtecke ==== | ||
Zeile 278: | Zeile 226: | ||
- | ==== Aufgabe 2: Farbkreise ==== | ||
- | Schreibe ein Programm, das drei Farbkreise wie im folgenden Video zeichnet und dann drehen lässt! | ||
- | {{ : | ||
- | < | ||
- | <div class=" | ||
- | <script type=" | ||
- | // Farbkreise: Hier programmieren: | ||
- | </ | ||
- | < | ||
- | <script type=" | ||
- | Circle kreisRot = new Circle(400, 170, 150); | ||
- | kreisRot.setFillColor(Color.red, | ||
- | |||
- | Circle kreisGelb = new Circle(400, 170, 150); | ||
- | kreisGelb.setFillColor(Color.yellow, | ||
- | kreisGelb.rotate(120, | ||
- | |||
- | Circle kreisBlau = new Circle(400, 170, 150); | ||
- | kreisBlau.setFillColor(Color.blue, | ||
- | kreisBlau.rotate(240, | ||
- | |||
- | Group figur = new Group(); | ||
- | figur.add(kreisRot, | ||
- | |||
- | while(true) figur.rotate(1); | ||
- | </ | ||
- | --> | ||
- | <script type=" | ||
- | ## Tipp: | ||
- | - Die Klasse `Circle` besitzt eine Methode `setFillColor`, | ||
- | - Verwende wieder ein `Group`-Objekt, | ||
- | </ | ||
- | </ | ||
- | </ | ||
g9/uebungen/klassen_anwenden/start.txt · Zuletzt geändert: 2022/06/29 15:12 von Martin Pabst