Einzelnen Beitrag anzeigen

jottkaerr

Registriert seit: 2. Jul 2007
Ort: Tuttlingen
81 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4

Re: Delphi-Code nach CPP uebersezten.

  Alt 21. Jan 2008, 07:18
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
Jürgen Krämer
Sometimes I think the surest sign that intelligent life exists elsewhere
in the universe is that none of it has tried to contact us. (Calvin)
  Mit Zitat antworten Zitat