Es scheint noch ein paar Verständnisprobleme bzgl. Interfaces zu geben. Prinzipiell kann man sagen, dass ein Interface einfach nur eine Vereinbarung bzw. eine Zusicherung ist, dass eine Klasse, die das Interface implementiert, dies garantiert vollständig tut.
Ich denke, dass geht noch weiter. Nicht nur, dass die 1 oder mehrere Klassen dasselbe Interface implementieren, sondern auch Dir egal sein kann, wo in der Klasse das implementiert ist. Eine Klasseninstanz ist ja nur ein Pointer und jede Variable, procedure etc dieser Klasse ist eion Offset zu diesem Pointer. Mit einem Interface musst Du Dich dann nicht noch drum kümmern, dass alles am gleichen Offset steht. In jeder Implementierung kann es ein anderes Offset haben und das interface geht trotzdem