Zitat von
MarkusB:
B. Die Frage an Pascal-Profis:
Wird die private Methode einer Klasse in Pascal anders betrachtet als in CPP?
Nein (abgesehen von der unterschiedlichen Umsetzung des "friend"-Konzepts).
Zitat von
MarkusB:
Oder funktioniert „inherited“ im Zusammenhang mit der Abarbeitung der Systemnachrichten vielleicht anders und erlaubt den direkten Zugriff auf private Methoden der Basisklasse?
Ja und nein. In Message-Handlern bedeutet ein einfaches "inherited;" (ohne Angabe einer Methode), dass die Methode aufgerufen wird, die in der unmittelbaren Vorgängerklasse als Handler für die gleiche Message eingetragen ist. Anders als bei einfachem "inherited;" in normalen Methoden muss die Vorgängermethode noch nicht mal den gleichen Namen haben. Die Zugriffsrechte werden dabei ignoriert, eben weil die Auflösung nicht über den Namen sondern über eine interne Tabelle erfolgt. Ein "inherited Method(...);" dagegen ruft die explizit genannte Methode der Vorgängerklasse auf und berücksichtigt auch die Sichtbarkeit.
jkr