Como implementar herança múltipla em delphi?

Eu estou fazendo uma reescrita completa de uma antiga biblioteca, e não tenho certeza de como lidar com essa situação (por uma questão de ser entendido, todos saúdam a analogia da bicicleta):

Eu tenho as seguintes classes:

TBike - a moto em siTBikeWheel - uma das rodas da motoTBikeWheelFront eTBikeWheelBack, ambos herda deTBikeWheel e, em seguida, implementa as coisas específicas que eles precisam em cima dele

Isso é bastante simples, mas agora eu decido criar vários tipos de motos, cada uma com seu próprio tipo de roda - elas fazem o mesmo que as rodas dianteiras / traseiras comuns, mais o específico para essa moto.

TBikeXYZ - herda deTBikeTBikeWheelXYZ - herda deTBikeWheel

E aqui está o meu problema:TBikeWheelFrontXYZ deve herdar deTBikeWheelXYZ (para obter os métodos específicos de uma roda XYZ), mas também deve herdarTBikeWheelFront (para obter os métodos específicos de uma roda dianteira).

Minha pergunta aqui é: como posso implementar isso de uma maneira que não:

sinta-se como um hackobrigar-me a reescrever o mesmo código várias vezes

questionAnswers(8)

yourAnswerToTheQuestion