Das ist eigentlich nicht der Sinn, der hinter abstrakten Klassen steckt.
Wenn ich eine Basisklasse mit quasi-abstrakten Methoden habe, die nur wahlfrei überschrieben werden können, definieren ich keine abstrakten Methoden sondern echte, die als einzige Anweisung das Werfen einer Ausnahme enthalten.
Delphi-Quellcode:
Procedure Basisklasse.SetNotExistentValue(value: Integer);
begin
raise ENotImplemented.Create("SetNotExistentValue");
end;