Vergleich von Delphi und Visual C++ - Inhalt
Vergleich von Delphi und Visual C++ - Inhalt
Vergleich von Delphi und Visual C++ - Inhalt
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]