Ein Interface soll eigentlich die Implementierung bestimmter Methoden erzwingen und enthält daher nur abstrakte Methoden.
Bei einer Basis-Klasse namens hasPosition nimmt man dann dass diese etwas über die Position enthält. Dann sollte die Position auch in der Basis-Klasse sein. Oder sollte irgendeine andere Interaktion mit der Position stattfinden.
Wenn du "hat ein" statt "ist ein" willst (was im Prinzip hier korrekt ist) dann ist Vererbung aber nicht die Lösung. Sondern die Klasse muss ein Objekt einer Positions-Klasse enthalten. Was auch der Fall ist. Dann braucht man aber das Interface nicht