Im Basistyp behandelt man besser keine Nachfahren.
Dort stellt man eher eine "änderbare" Schnittstelle zur Verfügung
und überschreibt dieses in den Nachfahren.
Delphi-Quellcode:
TBasis = class
procedure DoSomething; virtual;
// oder procedure DoSomething; virtual; abstract;
end;
TNachfahre = class(TBasis, IMyInterface)
procedure DoSomething; override;
end;
TAnderes = class(TBasis, IMyOtherInterface)
procedure DoSomething; override;
end;