Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi vererbung, überschreiben.... (https://www.delphipraxis.net/141743-vererbung-ueberschreiben.html)

mariobln 15. Okt 2009 11:21


vererbung, überschreiben....
 
tag zusammen,

mal eine kurze frage, habe leider nicht so viel erfahrung mit vererbung,
arbeite auch nicht unbedingt jeden tag objektorientiert :)....


also folgendes,

die funktion,soll überschrieben werden....


->
protected

procedure CreateWnd; override;
end;

<-

jetzt die frage,
kann einfach auf die variabeln zugreifen?

z.b.

->
procedure TMDIFileWindow.CreateWnd;
.
.
.


FClientHandle := WinProcs.CreateWindow('....');
.
.
.

end;
<-


bekomme ja immer Fehler, in diesem Fall dass "FClientHandle" nicht deklariert is...


hmm,
vielleicht hat mal einer n tipp...


gruss

himitsu 15. Okt 2009 11:32

Re: vererbung, überschreiben....
 
Also dieses -> <- sieht zwar nett aus, aber es gibt auch diese hübschen [delphi]-Tags.


Und in den Eltern-Klassen kannst du nur auf etwas zugreifen, welches mindestens als PROTECTED deklariert ist.

Auf Funktionen/Variablen im PRIVATE-Abschnitt, von übergeordneten Klassen, hat man keinen Zugriff.
Da wirst du dir also einen anderen Weg zum Wert dieser Variable suchen müssen ... z.B. über ein Property oder eine Funktion, auf welche du Zugriff hast.

Sir Rufo 15. Okt 2009 11:35

Re: vererbung, überschreiben....
 
Ich sehe FClientHandle auch nirgendwo deklariert.
Ich sehe auch nicht, von wem da vererbt werden soll.

DeddyH 15. Okt 2009 11:35

Re: vererbung, überschreiben....
 
Ob Du auf die Felder der Elternklasse zugreifen kannst, hängt davon ab, in welchem Abschnitt diese deklariert wurden. Auf private-Felder kannst Du zugreifen, wenn Eltern- und Kindklasse in der selben Unit stehen (solange sie nicht als strict private deklariert sind). Auf protected-Felder hast Du aus abgeleiteten Klassen immer Zugriff. Auf public- oder published-Felder hat jeder Zugriff.

[edit] Erst gar keine Antwort und dann 2 rote Kästen. Wollt Ihr mich ärgern? :roll: [/edit]

himitsu 15. Okt 2009 11:50

Re: vererbung, überschreiben....
 
Zitat:

Zitat von DeddyH
[edit]

soll ich wirklich antworten? :twisted:

DeddyH 15. Okt 2009 11:53

Re: vererbung, überschreiben....
 
[OT] Spar Dir das :tongue: [/OT]


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:30 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz