Das von jottkaerr beschriebene Template-Muster ist trotzdem die richtige Lösung !!
Für jede Methode gibt es in der Basisklasse einen offiziellen Einstieg und eine virtuelle protected Methode.
Beispiel:
Delphi-Quellcode:
TBase =
class(TObject)
protected
procedure InternalSaveToFile(
const filename:
string);
virtual;
abstract;
public
procedure SaveToFile(
const filename:
string);
// die offizielle Methode
end;
procedure TBase.SaveToFile(
const filename:
string);
begin
try
InternalSaveToFile(filename);
except
on E:
Exception do
begin
E.
Message:='
Fehler beim speichern in Datei <'+filename+'
<';
raise;
end;
end;
Wenn man sich den Sourcecode von
DB.pas und die Basisklasse TDataset anschaut, sieht man, dass Borland
auch das Template-Muster verwendet.
Für jede der wichtigen Methoden Open, close; Edit, Insert, Post,... existiert eine InternalXXXXX Methode.