Und wenn viele verschiedene Klassen das Interface implementieren, welche Klassenfunktion soll dann ausgeführt werden?
Wie bei anderen Methoden auch: Die, die das Interface implementiert:
Delphi-Quellcode:
type
IMyInt = interface
procedure bla;
class function Blub: integer;
end;
type
TMyClass = class(TInterfacedObject, IMyInt)
private
procedure bla;
class function Blub: integer;
end;
var
MyInt: IMyInt;
begin
MyInt := TMyClass.Create;
WriteLn(MyInt.Blub);
end;
Was natürlich nicht geht, ist die Klassenfunktion so aufzurufen:
WriteLn(IMyInt.Blub);