Ich weiß nicht wie Java arbeitet, aber z.B. C/C++ "included" quasi alles zu
einer rießengroßen
Unit,
bei Delphi bleiben die Units für sich getrennt und werden einzeln kompiliert.
Wenn es sich nicht wie hier, im Interface, gegenseitig referenziert, dann kann man auch Units kreuzverlinken (zwei Units, die sich gegenseitig im USES des Interface/Implementation und die Andere im USES nur der Implementation einbinden)
Bei Klassen, die sich gegenseitig brauchen und wo sie bede im Interface stehn müssen, die können nur in der selben
Unit, im gleichen Type stehen.
Ausnahme: Die eine Klasse wird nach dem selben Muster implementiert, nur halt abstakt, also nur die eine Funktionsdefinition B als "virtual; abstract;"
und dann die Ableitung mit dem "overload;" und allem Anderen kann in eine andere
Unit.