Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hi Leute, ich habe ein kleines Problem in der Codierung meines Programms In meiner Oberklasse habe ich einen Konstruktor mit verschiedenen Parametern. Diese Oberklasse sollte ich dann in zwei Unterklassen unterteilen, also etwas vererben. In beiden Unterklassen wurde also der Konstruktor vererbt und nun soll ich in einer anderen Klasse Objekte der Unterklassen erstellen. Allerdings brauche ich bei der einen Unterklasse andere Parameter als die, die vererbt wurden. Jedoch soll die Vererbung erhalten bleiben, also bspw. "Schule" extends "Gebäude" und dann soll ein neues Objekt "Schule" in einer anderen Klasse erstellt werden. Die Klasse "Krankenhaus" würde auch "Gebäude" extenden, aber wenn ich ein Objekt "Krankenhaus" in der gleichen Klasse erstelle, wo auch das Objekt "Schule" erstelle, soll "Krankenhaus" andere Parameter haben, obwohl beide von der Oberklasse "Gebäude" stammen. Wie ist das zu bewerkstelligen?
Ich hoffe das war verständlich und ich danke euch im voraus
Genau, nur dass es dann quasi noch ein Krankenhaus gibt, dass die gleiche Methode ausführt wie die Schule, aber die Parameter des Gebäudes behält und nicht extra Parameter nutzt. Geht das irgendwie oder muss dann eine neue Methode extra für die andere Unterklasse geschrieben werden?
Lassen wir es getRaueme sein. Außerdem würde die Gebäude-Klasse mehrere Parameter haben also evtl. Adresse, Räume und Ort oder so. Dann würde Schule alle Parameter übernehmen und eine Variable Name hinzufügen und mit den 4 Variablen ein Objekt erstellen. In der Unterklasse Krankenhaus soll es aber anders sein. Sie soll nur einen oder zwei (ABER NICHT ALLE) Parameter erben und noch eine Variable für sich hinzufügen wie bspw. patientenNummer. Davon soll dann auch ein Objekt erstellt werden. Und diese beiden Objekte rufen die gleiche Methode (getRaueme) auf. Funktioniert das alles so?
Das Widerspricht aber dieser Hierarchie. Eventuell musst du dann noch eine weitere Ebene einführen oder den Parameter, den die Schule erben soll aber nicht das Krankenhaus anstatt in Gebäude in Schule definieren.
Angenommen du hast wie gehabt das Gebäude und Schule, Krankenhaus und Firmensitz sollen erben.
Ich verstehe das so, dass dein Gebäude nun z.B. das Attribut "Träger" besitzt, der so erstmal nur im öffentlichen Bereich Sinn macht - also von Schule und Krankenhaus geerbt werden soll, aber nicht von Firmensitz. Hier wäre es sinnvoll den Träger nicht in Gebäude zu definieren, sondern einer Klasse ÖffentlichesGebäude. ÖffentlichesGebäude hätte den Träger und würde von Gebäude erben. Schule und Krankenhaus erben von ÖffentlichesGebäude. Firmsitz kann direkt von Gebäude erben oder ähnlich dem ÖffentlichenGebäude ein PrivatGebäude sein.