Du kannst in einer Listbox auch Objekte (genauer Zeiger auf Objekte) speichern.
Delphi-Quellcode:
bahnhof := TBahnhof.Create(posNord);
Listbox.Items.AddObject('Nordbahnhof', bahnhof);
Die Möglichkeit Objekte und Texte zusammen zu speichern ist von TStrings geerbt.
Deshalb funktioniert dies auch bei Comboboxen und Memos.
Um das Objekt wieder herauszuholen, kann man z.B. so vorgehen:
Delphi-Quellcode:
idx := Listbox.ItemIndex;
if idx <> -1 then
begin
obj := Listbox.Items.Objects[idx];
if obj is TBahnhof then
TBahnhof(obj).kaufen(user)
else if obj is TStrasse then
TStrasse(obj).Platzieren(spielfeld)
PS: was meinst du mit "Interface"? Ein Userinterface, wie ich es verstanden habe oder ein Interface im Sinne von IUnknown?