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 deleIsso é 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 deTBike
TBikeWheelXYZ
- 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