05.11.2013 Aufrufe

Vergleich von Delphi und Visual C++ - Inhalt

Vergleich von Delphi und Visual C++ - Inhalt

Vergleich von Delphi und Visual C++ - Inhalt

MEHR ANZEIGEN
WENIGER ANZEIGEN

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]

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!