Ich glaube für einen von uns ist es noch zu früh am Morgen.
Wenn es private ist, dann ist es private. Du kannst das aus einer Unterklasse nicht mehr direkt aufrufen, auch nicht durch ein
inherited
.
Beispiel:
Delphi-Quellcode:
type
TBase = class
strict private procedure privateStuff();
end;
TSub = class(TBase)
strict private procedure privateStuff();
public procedure publicSubStuff();
end;
{ TSub }
procedure TSub.privateStuff();
begin
inherited; // Tut nichts
WriteLn('TSub.privateStuff()');
end;
procedure TSub.publicSubStuff();
begin
privateStuff();
WriteLn('TSub.publicStuff()');
end;
{ TBase }
procedure TBase.privateStuff();
begin
WriteLn('TBase.privateStuff');
end;
begin
TSub.Create().publicSubStuff();
readln;
end.
Das siehst du auch daran dass weder die Methode
TBase.privateStuff()
noch die Zeile
im Debugger einen Haltepunkt bekommen.