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

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Vergleich</strong> <strong>von</strong> <strong>Delphi</strong> <strong>und</strong> <strong>Visual</strong> <strong>C++</strong> - Kapitel 2C<br />

Borland empfiehlt für Lese- <strong>und</strong> Schreib-Methoden eine einheitliche Namensgebung zu gebrauchen. Der Name einer Lese-Methode sollte<br />

demnach stets mit dem Vorsatz "Get" beginnen, dem der Property-Name folgt (im Beispiel wäre das GetText). Der Name einer<br />

Schreib-Methode sollte stets mit dem Vorsatz "Set" beginnen, dem der Property-Name folgt (wie im Beispiel zu sehen: SetText). Das Feld,<br />

auf dem ein Property beruht, sollte immer mit dem Buchstaben "F" beginnen, dem der Property-Name folgt (im Beispiel: FText).<br />

Beim Übersetzen ersetzt der Compiler jede Auslese- <strong>und</strong> jede Zuweisungs-Anweisung eines Propertys durch das zugeordnete Feld bzw.<br />

durch einen Aufruf der zugeordneten Methode. Bei Methodenaufrufen, die Schreibzugriffe ersetzen, setzt er dabei den Wert des Propertys<br />

als aktuellen Parameter der Set-Methode ein.<br />

Die Implementierungs-Methoden <strong>von</strong> Properties können virtuell sein. In abgeleiteten Objekten können die Methoden polymorph<br />

überschrieben werden. Das Lesen <strong>und</strong> Zuweisen der gleichen Properties kann dann im Basis-Objekt ganz andere Aktionen als im<br />

abgeleiteten Objekt zur Folge haben.<br />

Neben einfachen Properties existieren noch indizierte Properties, die sich dem Benutzer wie ein Array darstellen. Schreib- <strong>und</strong><br />

Lese-Methoden für indizierte Arrays benötigen einen weiteren Parameter, der den Index für den Zugriff festlegt.<br />

Für alle Properties, die im published-Abschnitt einer Klasse deklariert sind, erzeugt der Compiler spezielle Informationen, die für die<br />

Zusammenarbeit mit <strong>Delphi</strong>s "Objektinspektor" <strong>von</strong> Bedeutung sind. Diese veröffentlichten Properties bilden die Basis für das "visuelle<br />

Programmieren". Beim visuellen Programmieren <strong>und</strong> Gestalten <strong>von</strong> Programmen können Objekte in einer Design-Phase auf sogenannten<br />

Formularen, den Fenstern der Anwendung, plaziert werden. Alle veröffentlichten Properties werden zur Design-Zeit <strong>von</strong> <strong>Delphi</strong><br />

ausgewertet <strong>und</strong> im Objektinspektor zur Ansicht gebracht. Die Werte der Properties können im Objektinspektor manuell verändert werden,<br />

wobei Änderungen zur Design-Zeit genau dieselben automatischen Methodenaufrufe wie im endgültig übersetzten Programm auslösen.<br />

Durch dieses Verhalten kann der Programmierer sofort, noch bevor er das Programm neu übersetzt <strong>und</strong> gestartet hat erkennen, wie sich<br />

Eigenschaftsänderungen auswirken. Die Gestaltung der Programmoberfläche kann so aufgr<strong>und</strong> der Properties regelbasiert nach dem beim<br />

Menschen sehr beliebten Schema "Trial and Error" (Versuch <strong>und</strong> Irrtum) erfolgen. Der Entwickler setzt die Hintergr<strong>und</strong>farbe eines<br />

Fensters auf rot, indem Property Color im Objektinspektor entsprechend geändert wird. Der implizite Aufruf der Funktion SetColor im<br />

betreffenden Fenster-Objekt stößt daraufhin selbständig ein Neuzeichnen des eigenen Fensterbereichs an; das Fenster wird rot dargestellt.<br />

Der Entwickler erkennt, daß ein roter Fensterhintergr<strong>und</strong> doch weniger gut anzusehen ist <strong>und</strong> kann sofort wieder Property Color auf Grau<br />

zurücksetzen.<br />

Die Bezeichnung "visuelles Programmieren" geht auf diese visuellen Gestaltungsabläufe zurück. Durch einfache Maus-Klicks <strong>und</strong> das<br />

Ändern einiger Property-Werte können so erstaunlich schnell komplexe Anwendungen entstehen. Selbst das Erstellen <strong>von</strong><br />

Datenbankprogrammen mit relationalen Daten-Beziehungen, Abfragen (Queries), Filtern usw. wird auf diese Weise zum Kinderspiel.<br />

Allerdings muß beim Erstellen eigener Objekte, hier auch Komponenten genannt, beachtet werden, daß auf die Änderung aller<br />

veröffentlichten Property-Werte richtig bzw. überhaupt reagiert wird. Das kann beim Neu-Erstellen <strong>von</strong> Komponenten zunächst einigen<br />

Mehraufwand bedeuten, der sich aber schnell bezahlt macht. Jeder Endanwender <strong>von</strong> Objekten erwartet wie selbstverständlich, daß<br />

vorgenommene Änderungen sofort entsprechende, sichtbare Auswirkungen zur Folge haben.<br />

Um auf komfortable Weise auch die Werte sehr komplexer, strukturierter Properties im Objektinspektor verändern zu können gestattet es<br />

<strong>Delphi</strong>, für solche Typen eigene "Property-Editoren" zu schreiben. Sie müssen bei der Programmierumgebung (IDE) registriert <strong>und</strong><br />

angemeldet werden. Die Property-Editoren stellen teilweise komplette kleine Anwendungen, manchmal mit mehreren Dialogfenstern, dar.<br />

Sie werden vom Objektinspektor aufgerufen <strong>und</strong> dienen einzig <strong>und</strong> allein dem "visuellen Programmieren" <strong>und</strong> werden (bzw. sollten) nicht<br />

mit in das endgültig erstellte Programm aufgenommen (werden).<br />

Die zunächst weniger spektakulär anmutende Spracherweiterung der Properties in Object Pascal kann die hinter diesem Konzept stehende<br />

Leistungsfähigkeit erst im Zusammenspiel mit der geschickt gestalteten Programmierumgebung <strong>Delphi</strong>s zum Tragen bringen. Es stellt eine<br />

bedeutende Neuerung dar, daß bei der Objekt- <strong>und</strong> Komponenten-Entwicklung ein Großteil des erstellten Codes mehr oder weniger<br />

ausschließlich dafür geschrieben wird, die Gestaltung <strong>und</strong> Entwicklung <strong>von</strong> Programmen zu vereinfachen <strong>und</strong> zu beschleunigen. Properties<br />

bilden also nicht nur die Gr<strong>und</strong>lage für "visuelles Programmieren" sondern sind auch der ausschlaggebende Gr<strong>und</strong> für deutlich kürzere<br />

Entwicklungszeiten in <strong>Delphi</strong> gegenüber <strong>Visual</strong> <strong>C++</strong> bei der Programmierung fensterbasierender, GUI-orientierter Anwendungen. GUI =<br />

Graphical User Interface (graphische Benutzeroberfläche)<br />

2.3.6.11 Laufzeit-Typinformationen<br />

Durch die Laufzeit-Typinformation (Run-Time Typ Information = RTTI) kann man zur Laufzeit eines Programms die Zugehörigkeit eines<br />

http://ourworld.compuserve.com/homepages/praxisservice/kapit2c.htm (32 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!