Benutzer-Werkzeuge

Webseiten-Werkzeuge


g9:uebungen:klassen_anwenden:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
g9:uebungen:klassen_anwenden:start [2021/01/20 12:51] – [Aufgabe 2: Farbkreise] Martin Pabstg9:uebungen:klassen_anwenden:start [2021/01/20 12:52] – [Instanzieren der "Welt"] Martin Pabst
Zeile 117: Zeile 117:
  
  
-===== Genaue Betrachtung: Objektreferenzen und Objekte ===== 
-Schau' Dir folgendes Beispielprogramm an: 
-<HTML> 
  
-<div class="java-online" style="height: 300px; width: 100%" data-java-online="{'id':'Objekte5'}"> 
- 
-<script type="text/plain" title="Main.java"> 
-Rectangle r;                          // Deklarieren der Variable r vom Typ Rectangle 
-r = new Rectangle(10, 10, 400, 200);  // Instanzieren eines neuen Rechteck-Objekts und Zuweisen zu r 
-                                      // 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);            // Aufruf der Methode "setFillColor" von r; Übergabe es Parameterwertes Color.red 
-r.rotate(30);                         // Aufruf der Methode "rotate" von r; Übergabe des Parameterwertes 30 
-</script> 
-</div> 
- 
-</HTML> 
- 
-Wie viele ''Rectangle''-Objekte gibt es in diesem Programm? Was bewirkt die Anweisung ''k = r''? \\ \\  
-Zum Vergleich ein ähnliches Programm mit ''int''-Variablen: 
-<HTML> 
- 
-<div class="java-online" style="height: 300px; width: 100%" data-java-online="{'id':'Objekte6'}"> 
- 
-<script type="text/plain" title="Main.java"> 
-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("r: " + r); 
-println("k: " + k); 
-</script> 
-</div> 
- 
-</HTML> 
-Was gibt das Programm aus? \\  
- 
-Eine ausführliche Erklärung für dieses merkwürdige Phänomen findest Du auf [[.objektreferenzen:start|dieser extra-Seite]]. 
- 
- 
- 
-===== Instanzieren der "Welt" ===== 
-Damit graphische Objekte ausgegeben werden können, muss zunächst die Grafikausgabe "geöffnet" werden. Dies geschieht durch Instanzieren eines Objektes der Klasse World, z.B.: 
-<code learnj> 
-new World(800, 600); 
-</code> 
-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: 
-{{ :klassen1:anwenden:pasted:20200504-135125.png }}  
- 
-Falls Du vergisst, ein Welt-Objekt zu instanzieren, wird das **vom System automatisch nachgeholt, sobald das erste graphische Objekt instanziert wird**. In diesem Fall werden die Grenzen des Koordinatensystems automatisch (wie oben) bei x = 800 und y = 600 gesetzt. 
  
 ==== Beispiel 2: gedrehte Rechtecke ==== ==== Beispiel 2: gedrehte Rechtecke ====
g9/uebungen/klassen_anwenden/start.txt · Zuletzt geändert: 2022/06/29 15:12 von Martin Pabst

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki