polymorphismus:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
polymorphismus:start [2023/03/09 16:26] – Martin Pabst | polymorphismus:start [2023/03/09 16:50] (aktuell) – [2. Casten] Martin Pabst | ||
---|---|---|---|
Zeile 67: | Zeile 67: | ||
- | ===== 2. Casten ===== | ||
- | <WRAP center round info 100%> | ||
- | Wir erweitern die Klasse '' | ||
- | {{ : | ||
- | |||
- | Können wir diese Methoden mit Hilfe der Variable '' | ||
- | <code java> | ||
- | Tier t; | ||
- | t = new Katze(" | ||
- | t.miaue(); // GEHT NICHT! | ||
- | |||
- | t = new Hund(" | ||
- | t.belle(); // GEHT NICHT! | ||
- | </ | ||
- | Obwohl die Variable '' | ||
- | **casten:** \\ | ||
- | Aber wir wissen doch, dass beide Aufrufe in Ordnung sind. Können wir das dem Compiler nicht mitteilen? \\ | ||
- | <code java> | ||
- | Tier t; | ||
- | t = new Katze(" | ||
- | ((Katze)t).miaue(); | ||
- | |||
- | t = new Hund(" | ||
- | ((Hund)t).belle(); | ||
- | ((Katze)t).miaue(); | ||
- | </ | ||
- | |||
- | </ | ||
- | |||
- | < | ||
- | |||
- | <div class=" | ||
- | |||
- | <script type=" | ||
- | |||
- | Tier t; | ||
- | t = new Katze(" | ||
- | ((Katze)t).miaue(); | ||
- | |||
- | t = new Hund(" | ||
- | ((Hund)t).belle(); | ||
- | ((Katze)t).miaue(); | ||
- | |||
- | class Tier { | ||
- | | ||
- | | ||
- | |||
- | | ||
- | this.art = art; | ||
- | this.name = name; | ||
- | } | ||
- | |||
- | void stellDichVor() { | ||
- | println(" | ||
- | } | ||
- | |||
- | } | ||
- | |||
- | class Katze extends Tier { | ||
- | | ||
- | super(" | ||
- | } | ||
- | |||
- | void miaue(){ | ||
- | println(" | ||
- | } | ||
- | } | ||
- | |||
- | class Hund extends Tier { | ||
- | | ||
- | super(" | ||
- | } | ||
- | |||
- | void belle(){ | ||
- | println(" | ||
- | } | ||
- | } | ||
- | |||
- | |||
- | </ | ||
- | |||
- | </ | ||
- | |||
- | |||
- | </ | ||
polymorphismus/start.1678379178.txt.gz · Zuletzt geändert: 2023/03/09 16:26 von Martin Pabst