In Parkhaus musst Du Ford und Audi auch nochmal mit aufnehmen, da Parkhaus sonst wirklich nur Auto kennt.
Bei komplexeren Verschachtelungen muss man darauf achten, dass im Delphi keine zirkulären units verwendet werden können. Wenn A auf B zugreift und B auf A dann muss eine der Bezüge im Implementationsteil definiert werden.
Eine Möglichkeit, so etwas loser zu lösen sind Schnittstellen. Dann müssen die konkreten Klassen bzw. Units nicht unmittelbar bekannt sein.
Die Verwendung schon Schnittstellen macht aber zusätzlichen Aufwand. Je nach Projekt und Erfahrungen kann man diese aber nutzen.
EDIT:
Oh! Lazarus! Dann muss das so nicht stimmen!