Benutzer-Werkzeuge

Webseiten-Werkzeuge


klassen2:casting: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
klassen2:casting:start [2020/05/03 10:16] Martin Pabstklassen2:casting:start [2021/04/10 22:17] – [Casting und der Operator instanceof] Martin Pabst
Zeile 6: Zeile 6:
 <HTML> <HTML>
  
-<div class="java-online" style="height: 300px; width: 100%" data-java-online="{'withBottomPanel': false}">+<div class="java-online" style="height: 370px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'Casting1'}">
  
 <script type="text/plain" title="Tier.java"> <script type="text/plain" title="Tier.java">
Zeile 33: Zeile 33:
 <HTML> <HTML>
  
-<div class="java-online" style="height: 300px; width: 100%" data-java-online="{ }">+<div class="java-online" style="height: 450px; width: 100%" data-java-online="'id': 'Casting2' }">
 <script type="text/plain" title="Main.java"> <script type="text/plain" title="Main.java">
 Hund h = new Hund("Bello"); Hund h = new Hund("Bello");
Zeile 111: Zeile 111:
 <HTML> <HTML>
  
-<div class="java-online" style="height: 300px; width: 100%" data-java-online="{ }">+<div class="java-online" style="height: 300px; width: 100%" data-java-online="'id': 'Casting3' }">
 <script type="text/plain" title="Main.java"> <script type="text/plain" title="Main.java">
 Hund h = new Hund("Bello"); Hund h = new Hund("Bello");
Zeile 182: Zeile 182:
 </code> </code>
 sind diese Anweisungen zulässig? Falls "nein": Warum nicht? Probiere sie aus, indem Du sie ins Beispiel oben einfügst! sind diese Anweisungen zulässig? Falls "nein": Warum nicht? Probiere sie aus, indem Du sie ins Beispiel oben einfügst!
 +[[.aufgabe12:loesungen:start|Lösungen]]
 ==== 2. Aspekt: Casten ==== ==== 2. Aspekt: Casten ====
 Wurmt es Dich nicht auch, dass im Falle von  Wurmt es Dich nicht auch, dass im Falle von 
Zeile 208: Zeile 208:
 <HTML> <HTML>
  
-<div class="java-online" style="height: 300px; width: 100%" data-java-online="{ }">+<div class="java-online" style="height: 300px; width: 100%" data-java-online="'id': 'Casting4'}">
 <script type="text/plain" title="Main.java"> <script type="text/plain" title="Main.java">
 Hund h = new Hund("Bello"); Hund h = new Hund("Bello");
Zeile 268: Zeile 268:
  
 == Aufgaben == == Aufgaben ==
-  3. Nimm in Zeile 8 das Casting weg, schreibe also ''Hund h2 = t;''. Was passiert? Warum? +3. Nimm in Zeile 8 das Casting weg, schreibe also ''Hund h2 = t;''. Was passiert? Warum? \\ \\  
-  Wenn wir ungerechtfertigt casten, vertraut uns der Compiler dann? Probiere es aus, indem Du die Zeile 5 ersetzt durch ''((Katze)t).miaue();''. Was passiert? Warum? +4. Wenn wir ungerechtfertigt casten, vertraut uns der Compiler dann? Probiere es aus, indem Du die Zeile 5 ersetzt durch ''((Katze)t).miaue();''. Was passiert? Warum? \\ \\  
-  Verändert das Casten durch den Term ''(Katze)t'' das Objekt, auf das ''t'' zeigt von einem ''Tier''-Objekt zu einem ''Katze''-Objekt? Begründe Deine Antwort! +5. Verändert das Casten durch den Term ''(Katze)t'' das Objekt, auf das ''t'' zeigt von einem ''Tier''-Objekt zu einem ''Katze''-Objekt? Begründe Deine Antwort! \\ \\  
 + \\  
 +[[.aufgabe345:loesungen:start|Lösungen]]
 ==== 3. Aspekt: instanceof ==== ==== 3. Aspekt: instanceof ====
 Oft kann eine Variable an einer Stelle des Programms zu verschiedenen Zeiten verschiedene Objekte enthalten, so dass wir im Programm flexibel darauf reagieren müssen. Für diesen Zweck gibt es den Operator ''instanceof''. Damit lässt sich testen, ob ein Objekt einer bestimmten Klasse angehört. Oft kann eine Variable an einer Stelle des Programms zu verschiedenen Zeiten verschiedene Objekte enthalten, so dass wir im Programm flexibel darauf reagieren müssen. Für diesen Zweck gibt es den Operator ''instanceof''. Damit lässt sich testen, ob ein Objekt einer bestimmten Klasse angehört.
 <HTML> <HTML>
  
-<div class="java-online" style="height: 300px; width: 100%" data-java-online="{ }">+<div class="java-online" style="height: 300px; width: 100%" data-java-online="'id': 'Casting5'}">
 <script type="text/plain" title="Main.java"> <script type="text/plain" title="Main.java">
 Hund h = new Hund("Bello"); Hund h = new Hund("Bello");
klassen2/casting/start.txt · Zuletzt geändert: 2021/12/29 11:29 von 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki