Vererbung - Java?
Guten Tag Leute!
Zur Vorbereitung auf eine Klausur habe ich jetzt ein kleines Programm geschrieben:
Es soll ein Porsche (Objekt) erstellt werden, mit den Attributen aus der Oberklasse "Auto" und Unterklasse "Porsche". Die Attribute aus der Oberklasse "Auto" werden übergeben, jedoch die aus der Unterklasse "Porsche" nicht. Wenn ich das Programm versuche auszuführen, kommt eine Fehlermeldung und das Programm bittet mich, die Attribute der Unterklasse in die Oberklasse zu schreiben.
Kann man dies irgendwie umgehen? Schonmal danke für die Antoworten im Vor
2 Antworten
![](https://images.gutefrage.net/media/default/user/14_nmmslarge.png?v=1551279448000)
Schreib mal statt
Auto meinAuto = new Auto();
Porsche meinAuto = new Porsche();
Die Attribute kModell und kModellnr gehören zu Porsche, nicht zum Auto.
Gruß
![](https://images.gutefrage.net/media/default/user/14_nmmslarge.png?v=1551279448000)
![](https://images.gutefrage.net/media/user/Mastermind498/1601584545055_nmmslarge__37_0_250_250_0e8639e65a208a66e3f570a513032b25.png?v=1601584545000)
mach in deiner Auto-Klasse das "extends hauptklasse" weg, das ist totaler schwachsinn. Und die Superklasse Auto weiß nichts von den Kindsklassen, nur andersrum. Also die Methoden gehen nicht, weil sie n ur zum Kind gehören. Aber die Super-Auto-Methode die du da Deklarierst, weiß nichts vom Kind Porsche. Eben nur andersrum, was du mit "extends Auto" bei Porsche gemacht hast. Du müsstest anstatt eine Instanz der Klasse Auto mit new Auto() zu erzeugen, stattdessen eine Porsche-Instanz mit new Porsche() erzeugen. Und Auto kann eigentlich eine abstrakte Klasse sein, da es nicht DAS EINE Auto gibt
![](https://images.gutefrage.net/media/user/Enricolo/1646678234503_nmmslarge__515_0_1080_1080_7772ed3e1bd99a73d0b11f1941cbf372.jpg?v=1646678235000)
Hat geklappt! Vielen Dank!