17 Stimmen

Wie implementiert man Mehrfachvererbung in Delphi?

Ich bin dabei, eine alte Bibliothek komplett neu zu schreiben, und bin mir nicht sicher, wie ich mit dieser Situation umgehen soll (um des Verständnisses willen: es lebe die Fahrrad-Analogie):

Ich habe die folgenden Klassen:

  • TBike - das Fahrrad selbst
  • TBikeWheel - eines der Räder des Fahrrads
  • TBikeWheelFront y TBikeWheelBack beide erben von TBikeWheel und implementiert dann die spezifischen Dinge, die sie benötigen, zusätzlich

Das ist ziemlich einfach, aber jetzt entscheide ich mich, mehrere Arten von Fahrrädern zu erstellen, wobei jedes Fahrrad seine eigene Art von Rad hat - sie tun das Gleiche wie ein normales Vorder-/Hinterrad, plus das Spezifische für dieses Fahrrad.

  • TBikeXYZ - erbt von TBike
  • TBikeWheelXYZ - erbt von TBikeWheel

Und hier ist mein Problem: TBikeWheelFrontXYZ sollte erben von TBikeWheelXYZ (um die spezifischen Methoden eines XYZ-Rads zu erhalten), aber es sollte auch erben von TBikeWheelFront (um die spezifischen Methoden für ein Vorderrad zu erhalten).

Meine Frage ist, wie kann ich das so implementieren, dass das nicht passiert:

  1. sich wie ein Trottel fühlen
  2. mich zwingen, denselben Code mehrmals umzuschreiben

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X