klassen2:casting:aufgabe12:loesungen:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
klassen2:casting:aufgabe12:loesungen:start [2021/02/28 17:38] – angelegt Martin Pabst | klassen2:casting:aufgabe12:loesungen:start [2021/12/29 11:29] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | == Aufgabe 1: == | + | == Aufgaben: == |
+ | - Entferne das Kommentarzeichen %%//%% am Beginn der Zeile 6 bzw. 10. Welche Fehlermeldung zeigt der Compiler an? Warum tut er das? | ||
+ | - Nach Zeile 10 wird folgendes Programm ergänzt: | ||
+ | <code learnj> | ||
+ | Katze k1 = h; | ||
+ | | ||
+ | </ | ||
+ | sind diese Anweisungen zulässig? Falls " | ||
+ | |||
+ | |||
+ | == Lösung zu Aufgabe 1: == | ||
Der Compiler zeigt folgenden Fehler an: \\ | Der Compiler zeigt folgenden Fehler an: \\ | ||
"Der Typ besitzt keine Methode mit dem Bezeichner belle." | "Der Typ besitzt keine Methode mit dem Bezeichner belle." | ||
Das tut er, weil t eine Variable vom Typ Tier ist und die Klasse Tier keine Methode belle besitzt. Dass das Objekt, auf das t zeigt, ein Hund-Objekt ist (und sehr wohl eine Methode belle besitzt), weiß der Compiler nicht. | Das tut er, weil t eine Variable vom Typ Tier ist und die Klasse Tier keine Methode belle besitzt. Dass das Objekt, auf das t zeigt, ein Hund-Objekt ist (und sehr wohl eine Methode belle besitzt), weiß der Compiler nicht. | ||
- | == Aufgabe 2: == | + | == Lösung zu Aufgabe 2: == |
Katze k1 = h; \\ | Katze k1 = h; \\ | ||
ist nicht zulässig, da h eine Variable der Klasse Hund ist. Diese kann nicht nach Katze gecastet werden, da Katze keine Unterklasse von Hund ist. | ist nicht zulässig, da h eine Variable der Klasse Hund ist. Diese kann nicht nach Katze gecastet werden, da Katze keine Unterklasse von Hund ist. | ||
h.schreibeName(); | h.schreibeName(); |
klassen2/casting/aufgabe12/loesungen/start.1614530305.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)