rasenganIT Geschrieben 27. November 2023 Teilen Geschrieben 27. November 2023 Hallo ist Guetwaggon eine Tochterklasse von Waggon weil Gueterwaggon einen Konstruktor hat der auch einen String Parameter nimmt und dieser String ist in der abstrakten Waggon Klasse vorhanden während in der Klasse Gueterwaggon nur eine int Variable definiert ist? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
rasenganIT Geschrieben 27. November 2023 Autor Teilen Geschrieben 27. November 2023 (bearbeitet) Zweite Frage: Wenn ich den Konstruktor "Gueterwaggon(string,int)" implementiere, wieso nimmt man nicht ziel Variable aus Waggon mit hinein also: Guetwaggon(ziel, gefahrgutklasse): this.ziel = ziel this.gefahrgutklasse = gefahrgutklasse Aber in den Lösungen ist es so, wie kommt man auf return ziel von basis? Guetwaggon(ziel, gefahrgutklasse):basis(ziel) this.gefahrgutklasse = gefahrgutklasse Bearbeitet 27. November 2023 von rasenganIT Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ZwennL Geschrieben 27. November 2023 Teilen Geschrieben 27. November 2023 (bearbeitet) Gueterwaggon erbt von Waggon. Gueterwaggon ist eine weitere Spezialisierung der Klasse. Zusätzlich kannst Du es daran sehen, dass das Attribut ziel mit dem Modifikator # versehen ist. Das # steht für protected. Solche Attribute können vererbt werden. Die Klasse Guetervaggon hingegen hat das Attribut gefahrenklasse, welches mit dem Modifikator - versehen ist. Das steht für private und kann nicht vererbt werden. Waggon ist außerdem als abstract deklariert. Das bedeutet, die Methoden werden erst in einer Klasse ausprogrammiert, die von dieser abstrakten Klasse erbt. Bearbeitet 27. November 2023 von ZwennL Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
carnaqe Geschrieben 27. November 2023 Teilen Geschrieben 27. November 2023 vor 6 Minuten schrieb rasenganIT: Zweite Frage: Wenn ich den Konstruktor "Gueterwaggon(string,int)" implementiere, wieso nimmt man nicht ziel Variable aus Waggon mit hinein also: Guetwaggon(ziel, gefahrgutklasse): this.ziel = ziel this.gefahrgutklasse = gefahrgutklasse würde mal behaupten, dass du den Parentkonstruktor aufrufen musst. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
rasenganIT Geschrieben 27. November 2023 Autor Teilen Geschrieben 27. November 2023 vor 9 Minuten schrieb ZwennL: Gueterwaggon erbt von Waggon. Gueterwaggon ist eine weitere Spezialisierung der Klasse. Zusätzlich kannst Du es daran sehen, dass das Attribut ziel mit dem Modifikator # versehen ist. Das # steht für protected. Solche Attribute können vererbt werden. Die Klasse Guetervaggon hingegen hat das Attribut gefahrenklasse, welches mit dem Modifikator - versehen ist. Das steht für private und kann nicht vererbt werden. Waggon ist außerdem als abstract deklariert. Das bedeutet, die Methoden werden erst in einer Klasse ausprogrammiert, die von dieser abstrakten Klasse erbt. aber die Methoden in Waggon sind nicht als abstract definiert während z.B. addWagon in Zug als abstract benannt ist. Was ist der Unterschied? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ZwennL Geschrieben 27. November 2023 Teilen Geschrieben 27. November 2023 (bearbeitet) Ja, da gibt es einen Unterschied. Ich habe das unsauber und stark verkürzt dargestellt. Hier ist gut beschrieben, wie es sich mit abstrakten Klassen und Methoden verhält: https://javabeginners.de/Klassen_und_Interfaces/Abstrakte_Klassen.php Bearbeitet 27. November 2023 von ZwennL rasenganIT reagierte darauf 1 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
rasenganIT Geschrieben 27. November 2023 Autor Teilen Geschrieben 27. November 2023 vor 12 Minuten schrieb ZwennL: Ja, da gibt es einen Unterschied. Ich habe das unsauber und stark verkürzt dargestellt. Hier ist gut beschrieben, wie es sich mit abstrakten Klassen und Methoden verhält: https://javabeginners.de/Klassen_und_Interfaces/Abstrakte_Klassen.php dann wäre das auch richtig um den Konstruktor zu implementieren oder? Gueterwaggon extends Waggon: super(ziel); this.gefahrgutklasse = gefahrgutklasse Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ham.ae Geschrieben 27. November 2023 Teilen Geschrieben 27. November 2023 Aus welcher Prüfung ist das? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
eulersche_Zahl Geschrieben 29. November 2023 Teilen Geschrieben 29. November 2023 (bearbeitet) Am 27.11.2023 um 10:03 schrieb rasenganIT: Aber in den Lösungen ist es so, wie kommt man auf return ziel von basis? Klasse Waggon ist {abstract} -> bedeutet, dass "Kindklassen" die Ergebnisse liefern müssen. -> Return Das könnten von n bis unendlich sein, deswegen macht man sie {abstract} Bearbeitet 29. November 2023 von eulersche_Zahl rasenganIT reagierte darauf 1 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Shannon Geschrieben 29. November 2023 Teilen Geschrieben 29. November 2023 Gueterwaggon erbt von Waggon. Gueterwaggon ist eine weitere Spezialisierung der Klasse. Zusätzlich kannst Du es daran sehen, dass das Attribut ziel mit dem Modifikator # versehen ist. Das # steht für protected. Solche Attribute können vererbt werden. Die Klasse Guetervaggon hingegen hat das Attribut gefahrenklasse, welches mit dem Modifikator - versehen ist. Das steht für private und kann nicht vererbt werden. Waggon ist außerdem als abstract deklariert. Das bedeutet, die Methoden werden erst in einer Klasse ausprogrammiert, die von dieser abstrakten Klasse erbt.Private Attribute werden genauso vererbt, sie können nur nicht mehr innerhalb neu definierten oder überschriebenen Methoden verwendet werden. Wird ein Public Setter und Getter vererbt, so können diese problemlos weiter verwendet werden. q.e.d. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
eulersche_Zahl Geschrieben 29. November 2023 Teilen Geschrieben 29. November 2023 (bearbeitet) Wenn du das verstehst, wie nennt man das? (2 Punkte) -> OOP ✔️✔️ Bearbeitet 29. November 2023 von eulersche_Zahl Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
eulersche_Zahl Geschrieben 29. November 2023 Teilen Geschrieben 29. November 2023 (bearbeitet) Und wie @ZwennL schon sagte. Es wird kein Wert (Value - Call by Value) zurück gegeben, sondern eine Instanz. Also ein Objekt. Bearbeitet 29. November 2023 von eulersche_Zahl Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.