klassen1:anwenden:objektreferenzen:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
— | klassen1:anwenden:objektreferenzen:start [2024/08/31 10:03] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ===== Genaue Betrachtung: | ||
+ | |||
+ | Schauen wir uns ein Beispielprogramm an: | ||
+ | |||
+ | < | ||
+ | |||
+ | <div class=" | ||
+ | |||
+ | <script type=" | ||
+ | Rectangle r; // Deklarieren der Variable r vom Typ Rectangle | ||
+ | r = new Rectangle(10, | ||
+ | r.setFillColor(Color.red); | ||
+ | r.rotate(30); | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | Führe das Programm in Einzelschritten aus ("Step over": {{: | ||
+ | |||
+ | |< 100% 200px 300px - >| | ||
+ | ^Anweisung^Situation danach^Erklärung^ | ||
+ | |'' | ||
+ | |'' | ||
+ | |'' | ||
+ | |'' | ||
+ | |||
+ | <WRAP center round info 60%> | ||
+ | **Objektreferenzen** (auch **Zeiger** genannt) sind **nicht** die Objekte selbst, sondern Variablen, die auf Objekte zeigen können. \\ **Genauer: | ||
+ | Zeigt eine Objektreferenz auf **kein** Objekt, so enthält sie den Wert '' | ||
+ | </ | ||
+ | |||
+ | **Verschiedene Objektvariablen können auch auf das selbe Objekt zeigen:** | ||
+ | < | ||
+ | |||
+ | <div class=" | ||
+ | |||
+ | <script type=" | ||
+ | Rectangle r; // Deklarieren der Variable r vom Typ Rectangle | ||
+ | r = new Rectangle(10, | ||
+ | // r zeigt jetzt auf das Rectangle-Objekt. | ||
+ | Rectangle k; | ||
+ | k = r; // Der Wert von r (d.h. die Adresse des Rectangle-Objekts) wird in die Variable k hineinkopiert | ||
+ | // Beide Variablen zeigen jetzt auf dasselbe Rectangle-Objekt! | ||
+ | k.setFillColor(Color.red); | ||
+ | r.rotate(30); | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | Die Anweisung '' | ||
+ | {{ : | ||
+ | <WRAP center round tip 80%> | ||
+ | - Die Objektreferenzen '' | ||
+ | - Die Anweisungen '' | ||
+ | </ | ||
+ | |||
+ | ===== Primitive Datentypen ===== | ||
+ | Variablen mit **primitiven Datentypen** (d.h. '' | ||
+ | < | ||
+ | <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(" | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||