Aus Sicht des
OOP ist dein Ansatz schon falsch.
Die Basisklasse darf keine Implementierungsdetails der abgeleiteten Klassen kennen.
Du könntest aber so vorgehen:
Delphi-Quellcode:
TClassFeature = (cfKannDrucken, cfKannSpeichern,...);
TClassFeatures = set of TClassFeature;
MyBaseObject= class(TObject)
protected
function HasFeature:TClassFeatures; virtual;abstract;
end;
Die abgeleitete Klasse muss
HasFeature überschreiben.
Damit kann in der Basisklasse festgestellt werden, welche Features die abgeleitete Klasse beherrscht.