Benutzer-Werkzeuge

Webseiten-Werkzeuge


g9:uebungen:konstruktoren: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
g9:uebungen:konstruktoren:start [2022/06/30 07:41] – [Beispiel 2: Buntstift] Martin Pabstg9:uebungen:konstruktoren:start [2022/06/30 07:43] (aktuell) – [Das Schlüsselwort "this"] Martin Pabst
Zeile 64: Zeile 64:
  
 <script type="text/plain" title="Beispiel.java"> <script type="text/plain" title="Beispiel.java">
-Buntstift rotstift = new Buntstift(Color.red);+Buntstift rotstift = new Buntstift(0xff0000);
 rotstift.schreibe("Hallo Welt!"); rotstift.schreibe("Hallo Welt!");
  
-Buntstift grünstift = new Buntstift(Color.lime);+Buntstift grünstift = new Buntstift(0x00ff00);
 grünstift.schreibe("Das ist grün"); grünstift.schreibe("Das ist grün");
 rotstift.schreibe("Das ist wieder rot"); rotstift.schreibe("Das ist wieder rot");
Zeile 118: Zeile 118:
 <div class="java-online" style="height: 500px; width: 100%" data-java-online="{'withBottomPanel': true, 'id': 'Konstruktoren3'}"> <div class="java-online" style="height: 500px; width: 100%" data-java-online="{'withBottomPanel': true, 'id': 'Konstruktoren3'}">
 <script type="text/plain" title="Beispiel.java"> <script type="text/plain" title="Beispiel.java">
-Buntstift rotstift = new Buntstift(Color.red);+Buntstift rotstift = new Buntstift(0xff0000);
 rotstift.schreibe("Hallo Welt!"); rotstift.schreibe("Hallo Welt!");
  
 class Buntstift { class Buntstift {
  
-   Color farbe;+   int farbe;
  
-   public Buntstift(Color farbe) {+   public Buntstift(int farbe) {
       farbe = farbe;       farbe = farbe;
    }    }
Zeile 147: Zeile 147:
 farbe = farbe; farbe = farbe;
 </code> </code>
-in Zeile 9, dass der Wert des Parameters ''farbe'' mit seinem eigenen Wert überschrieben wird. Der Wert des **Attributs** ''farbe'' wird nicht verändert, bleibt also ''null'' und führt so in Zeile 13 zum Fehler. \\ \\ +in Zeile 9, dass der Wert des Parameters ''farbe'' mit seinem eigenen Wert überschrieben wird. Der Wert des **Attributs** ''farbe'' wird nicht verändert, bleibt also ''0'' und führt so in Zeile 13 zum Fehler. \\ \\ 
 Wir müssen dem Compiler irgendwie mitteilen, dass der Bezeichner ''farbe'' auf der linken Seite der Zuweisung für das **Attribut** ''farbe'' steht, nicht für den Parameter ''farbe''. Dies können wir mithilfe des Schlüsselwortes ''this'' erreichen: ''this'' steht nämlich immer für dasjenige Objekt, //"in dem"// wir uns gerade befinden. Im Bereich Zeile 8 - 10 also für das Objekt, das gerade erzeugt wird. ''this.farbe'' ist damit eindeutig dessen **Attribut** farbe. Wir ersetzen Zeile 9 also durch Wir müssen dem Compiler irgendwie mitteilen, dass der Bezeichner ''farbe'' auf der linken Seite der Zuweisung für das **Attribut** ''farbe'' steht, nicht für den Parameter ''farbe''. Dies können wir mithilfe des Schlüsselwortes ''this'' erreichen: ''this'' steht nämlich immer für dasjenige Objekt, //"in dem"// wir uns gerade befinden. Im Bereich Zeile 8 - 10 also für das Objekt, das gerade erzeugt wird. ''this.farbe'' ist damit eindeutig dessen **Attribut** farbe. Wir ersetzen Zeile 9 also durch
 <code learnj> <code learnj>
Zeile 156: Zeile 156:
 <div class="java-online" style="height: 400px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'Konstruktoren4'}"> <div class="java-online" style="height: 400px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'Konstruktoren4'}">
 <script type="text/plain" title="Beispiel.java"> <script type="text/plain" title="Beispiel.java">
-Buntstift rotstift = new Buntstift(Color.red);+Buntstift rotstift = new Buntstift(0xff0000);
 rotstift.schreibe("Hallo Welt!"); rotstift.schreibe("Hallo Welt!");
  
 class Buntstift { class Buntstift {
  
-   Color farbe;+   int farbe;
  
-   public Buntstift(Color farbe) {+   public Buntstift(int farbe) {
       this.farbe = farbe;       this.farbe = farbe;
    }    }
g9/uebungen/konstruktoren/start.1656567679.txt.gz · Zuletzt geändert: 2022/06/30 07:41 von Martin Pabst

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki