Как реализовать множественное наследование в Delphi?
Я полностью переписываю старую библиотеку, и я не уверен, как справиться с этой ситуацией (для понимания, все приветствуют аналогию с велосипедом):
У меня есть следующие классы:
TBike
- the bike itself
TBikeWheel
- one of the bike's wheel
TBikeWheelFront
and TBikeWheelBack
, both inherits from TBikeWheel
and then implements the specific stuff they need on top of it
Это довольно просто, но теперь я решил создать несколько видов велосипедов, каждый из которых имеет свой собственный тип колеса - они делают то же самое, что и обычные передние / задние колеса, плюс специфические для этого велосипеда.
TBikeXYZ
- inherits from TBike
TBikeWheelXYZ
- inherits from TBikeWheel
И вот моя проблема:TBikeWheelFrontXYZ
должен наследовать отTBikeWheelXYZ
(чтобы получить конкретные методы колеса XYZ), но оно также должно наследоваться отTBikeWheelFront
(чтобы получить конкретные методы переднего колеса).
Мой вопрос здесь заключается в том, как я могу реализовать это так, чтобы это не делало:
feel like a hack force me to rewrite the same code several time