Vergleich von Delphi und Visual C++ - Inhalt
Vergleich von Delphi und Visual C++ - Inhalt
Vergleich von Delphi und Visual C++ - Inhalt
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>Vergleich</strong> <strong>von</strong> <strong>Delphi</strong> <strong>und</strong> <strong>Visual</strong> <strong>C++</strong> - Kapitel 2C<br />
Wirkung nach außen:<br />
Properties sehen für den Endanwender eines Objekts wie Felder aus, da sie über einen Typ verfügen, wie Felder gelesen werden können<br />
<strong>und</strong> ihr Wert in Form einer Zuweisung verändert werden kann. Properties erweitern aber gewöhnliche Felder, da sie intern Methoden<br />
verkapseln, die den Wert des Feldes lesen oder schreiben. Properties können behilflich sein, die Komplexität eines Objekts vor dem<br />
Endanwender zu verbergen. Sie gestatten es, den Objektstatus durch Seiteneffekte zu verändern.<br />
Um die Wirkungsweise <strong>und</strong> Nutzung zu verdeutlichen, soll ein Beispiel angeführt werden. Jedes Fenster-Objekt in <strong>Delphi</strong>s<br />
Klassenbibliothek (VCL) besitzt ein Property mit dem Namen "Top". Dies ist ein Lese- <strong>und</strong> Schreib-Property, mit dem einerseits die<br />
aktuelle y-Koordinate der Fensterposition ermittelt werden kann, mit dem andererseits beim Zuweisen eines Wertes an das Property das<br />
Fenster an die angegebene y-Koordinate bewegt wird. Ein Objekt-Anwender muß zum Verschieben des Fensters keine Funktionen<br />
aufrufen.<br />
// Lesen <strong>und</strong> Ausgabe des Propertys<br />
ShowMessage(IntToStr(MeinFenster.Top));<br />
// Schreiben des Propertys<br />
MeinFenster.Top := 20;<br />
// das Fenster wird zur Position 20 verschoben<br />
Ein weiteres Beispiel stellt das Property "Caption" dar. Durch das Lesen der Property erhält man den aktuellen Fenster-Text (Überschrift)<br />
<strong>und</strong> durch das Zuweisen an das Property wird der Fenster-Text gesetzt.<br />
ShowMessage(MeinFenster.Caption);<br />
MeinFenster.Caption := 'Hallo Welt';<br />
Der Programmierer muß sich weder damit beschäftigen, wie die Fensterposition / der Fenster-Text ermittelt werden kann, noch muß er<br />
wissen, wie man in Windows ein Fenster verschiebt oder wie die Überschrift eines Fensters gesetzt wird.<br />
Realisierung im Inneren:<br />
Es ist möglich, sowohl den lesenden als auch den schreibenden Zugriff auf ein Property einzeln zu gestatten bzw. zu unterbinden. Drei<br />
verschiedene Properties erhalten im Beispiel unterschiedliche Zugriffsrechte:<br />
MeineKlasse = class<br />
FText: String; // normales Feld in d. Klasse<br />
// Lese- <strong>und</strong> Schreib-Zugriff<br />
property Text: String read FText write FText;<br />
// nur Lese-Zugriff<br />
property Lies_Text: String read FText;<br />
// nur Schreib-Zugriff<br />
property Schreib_Text: String write FText;<br />
end;<br />
...<br />
http://ourworld.compuserve.com/homepages/praxisservice/kapit2c.htm (30 of 33) [19.05.2000 15:30:15]