
Ich möchte Klassen für Gegenstände schreiben. Es gibt z.B. eine Klasse TCustomItem, die die Abmaße implementiert. Diese werden als readonly-Eigenschaft public zur Verfügung gestellt. Initialisiert werden sollen sie über Konstruktor-Parameter. Eine abgeleitete Klasse TCar soll z.B. ein Auto implementieren. In TCar kommen weitere Werte hinzu (z.B. Sitzplätze, PS etc.), die auch bei der Instanzierung im Konstruktor initialisiert werden müssen. Nun erbt aber TCar den Konstruktor von TCustomItem, und dort werden die Sitzplätze nicht initialisiert. Erzeugt man nun TCar mit dem geerbten Construktor von TCustomItem, hat das Auto zwar eine Größe, aber kine Sitzplätze (Membervariable werden immer mit 0, nil, False etc. initialisiert). Aus diesem Grund wäre es sinnvoll den Konstruktor entweder nicht zu vererben oder ihn in TCar irgendwie "verschwinden zu lassen". Der einzige Workaround, der mir spontan einfällt, ist eine Prüfung im Konstruktor von TCustomItem einzubauen und ggf. einen Fehler zu erzeugen. Wie das machbar ist, habe ich mir noch nicht überlegt, ist aber sicherlich irgendwie realisierbar. Den Konstruktor irgendwie unerreichbar zu machen wäre mir allerdings um Längen lieber.
Was gibt es in diesem Fall für Möglichkeiten?