Robię pełną wersję starej biblioteki i nie jestem pewien, jak sobie z tym poradzić (ze względu na zrozumiałość, wszyscy twierdzą, że chodzi o analogię roweru):Jak zaimplementować dziedziczenie wielokrotne w delphi?
Mam następujące klasy:
TBike
- rower samTBikeWheel
- jeden z koła roweruTBikeWheelFront
iTBikeWheelBack
obie dziedziczyTBikeWheel
a następnie realizuje konkretne rzeczy, których potrzebują na nim
Jest to dość proste, ale teraz decyduję się na stworzenie wielu rodzajów rowerów, z których każdy ma własny rodzaj koła - robią to samo, co zwykłe koła przednie/tylne, a także specyfikę tego roweru .
TBikeXYZ
- dziedziczy zTBike
TBikeWheelXYZ
- dziedziczyTBikeWheel
I tu jest mój problem: TBikeWheelFrontXYZ
powinny dziedziczyć TBikeWheelXYZ
(aby uzyskać szczegółowe sposoby na kole XYZ), ale powinien również odziedziczyć po TBikeWheelFront
(aby uzyskać konkretne metody przedniego koła).
Moje pytanie brzmi, jak mogę wdrożyć to w sposób, który nie:
- poczuć się jak hack
- siła mnie do przepisywania tego samego kodu kilka razy
+1, powstrzymywanie często modeluje rzeczywistość znacznie lepiej niż dziedziczenie. – mghie