2. Pakete und Schutz von Variablen
2. Pakete und Schutz von VariablenErgänzen Sie die folgenden Pakete mit den notwendigen Importkommandos:
Das Paket Paket1 ist gegeben mit der Klasse Klasse1a.
Das Paket Paket2 ist gegeben mit den Klassen Klasse2a und Klasse2b.
- Fügen Sie in der Klasse Klasse1a genau einen expliziten Importbefehl ein, der Ihnen erlaubt alle Klassen des Paket2 zu verwenden.
- Fügen Sie in der Klasse Klasse2a einen expliziten Importbefehle ein, der Ihnen nur die Benutzung der Klasses1a erlaubt.
- Fügen Sie in der Klasse Klasse2b einen impliziten Import ein, der Ihnen nur erlaubt die Klasse Klasse1a im Attribut v1 zu verwenden.
- Fügen Sie in der Klasse2a einen Modifizierer ein, der es erlaubt, das Attribut a in der Klasse Klasse1a zu verwenden. Die geschieht in der Methode test() Fügen Sie alle nötigen Befehle direkt im Quellcode ein.
Klasse1a.java:
package Paket1; public class Klasse1a { Klasse1a v1; Klasse2a v2; Klasse2b v3; void test(Klasse2a obj) { obj.a = 17; } }
Klasse2a.java
package Paket2; class Klasse2a { Klasse1a v1; Klasse2a v2; Klasse2b v3; int a; }
Klasse2b.java
package Paket2; public class Klasse2b { Klasse1a v1; Klasse2a v2; Klasse2b v3; }
Niveau | 1 |
Schwierigkeitsgrad | mittel |
Zeit | 8 Minuten |
Die Antwort ist bei der nächsten Frage zu finden (URL rechts unten)
Antwort zu Frage 1 : Pakete und Sichtbarkeit von Klassen und Methoden
Die notwendigen Änderungen sind fett gedruckt. Bzw. mit horizontaler Linie durchgestrichen.
Datei: KlasseA.java:
package Paket1; Datei KlasseAA.java: package Paket1; Datei KlasseAB.java: package Paket1; |
|
Datei KlasseAC.java:
package Paket2; |
Datei Klasse KlasseABD.java:
package Paket3; import Paket1.KlasseAB; import Paket1.KlasseA; class KlasseABD extends KlasseAB{ |
- 4559 views
Antwort in Aufgabe
Die Antwort für die 4. Teilaufgabe steht schon im Quellcode der Frage.
Korrekt
Danke für den Kommentar. Der Fehler wurde korrigiert. Ich musste leider im Kommentar die korrekt genannte Lösung löschen. Die Spannung auf dieser Seite wäre sonst weg. :-)
Lösungen
Zu Punkt 4 der Aufgabe: "Fügen Sie in der Klasse2a einen Modifizierer ein, der es erlaubt, das Attribut a in der Klasse Klasse1a zu verwenden. Die geschieht in der Methode test() Fügen Sie alle nötigen Befehle direkt im Quellcode ein."
Im Quellcode in der Aufgabe ist das Attribut bereits public oder war danach nicht gefragt? Ich erkenne hier keinen Unterschied zur Musterlösung.
Stimmt
Oops.
Copy und paste Fehler. Wurde korrigiert. Danke!
Falls ich hier etwas nicht
Falls ich hier etwas nicht komplett missverstehe, ist die Lösung der 4. Teilaufgabe weiterhin bereits vorgegeben: "public int a;"
Außerdem: Nach dem Skript dachte ich, dass die Lösung der erste Teilaufgabe eigentlich "import Paket2.*;" sein müsste (expliziter Import aller Klasse aus Paket2).
In der Lösung heißt es aber nur "import Paket2;" ohne Stern.
Wo ist mein Denkfehler?
Danke
Danke!
Gut beobachtet. Hier wurde versehentlich die Lösung mit in die Aufgabenstellung kopiert. Wurde behoben. Danke.