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 4<br />
transformiert werden. Beide Sprachen zeichnen eine starke Typprüfung <strong>und</strong> die Möglichkeit aus, neue<br />
Typen aus der Palette bereits bestehender Elementartypen bilden zu können. <strong>Visual</strong> <strong>C++</strong> <strong>und</strong> Object<br />
Pascal kennen auch moderne Sprachkonstrukte zur Behandlung <strong>von</strong> Ausnahme-Situationen<br />
(Exception-Handling) <strong>und</strong> try/finally-Ressourcen-Schutzblöcke. Ein Präprozessor gestattet in <strong>C++</strong> die<br />
Expansion zuvor deklarierter Makros; die Makro-Technik ist Object Pascal nicht bekannt.<br />
Größere Unterschiede weisen dagegen die Teile der Sprachdefinitionen auf, die objektorientierte<br />
Erweiterungen festlegen. Gemeinsam sind <strong>Visual</strong> <strong>C++</strong> <strong>und</strong> Object Pascal die Eigenschaften, daß durch<br />
Klassen <strong>und</strong> Objekte Felder (=Variable) <strong>und</strong> Methoden (=Funktionen) verkapselt werden, differenzierte<br />
Zugriffsrechte auf diese bestehen <strong>und</strong> eine Vererbung bestehender Klassen an neue, abgeleitete<br />
Klassentypen möglich ist. Beide Sprachen unterstützen statische <strong>und</strong> virtuelle Methoden, die mit ihnen<br />
verb<strong>und</strong>enen polymorphen Objekt-Eigenschaften <strong>und</strong> Laufzeit-Typ-Informationen.<br />
Darüber hinaus weist das Klassen-Modell <strong>von</strong> V<strong>C++</strong> folgende entscheidenden Erweiterungen gegenüber<br />
dem <strong>von</strong> Object Pascal auf:<br />
● Schablonen (Templates)<br />
● überladbare Methoden <strong>und</strong> Operatoren<br />
● Mehrfachvererbung<br />
● static-Felder<br />
● const-Felder <strong>und</strong> Methoden<br />
Erweiterungen im Klassen-Modell <strong>von</strong> Object Pascal unterstützen in besonderem Maße dynamische<br />
Spracheigenschaften:<br />
● Referenz-Modell, bei dem alle Objekte Referenz-Zeiger darstellen<br />
● Properties (Eigenschaften)<br />
● dynamische <strong>und</strong> Botschaftsbehandlungs-Methoden<br />
● Botschaftszuteilung<br />
● Metaklassen <strong>und</strong> virtuelle Konstruktoren<br />
Das Fehlen einiger Spracheigenschaften in jeweils einer der beiden Sprachen muß nicht zwangsläufig als<br />
Nachteil gewertet werden. Die Sprachdefinitionen haben nach 25-jähriger Entwicklung einen derart<br />
großen Umfang angenommen, daß es schon heute schwer fällt, sie zu erlernen <strong>und</strong> vollständig zu<br />
verstehen. Die beste Sprache nützt aber dann nichts, wenn sie aufgr<strong>und</strong> ihrer Komplexität niemand mehr<br />
erlernen kann oder will. Es gilt auch hier: Weniger ist manchmal Mehr.<br />
Das in <strong>Visual</strong> <strong>C++</strong> integrierte <strong>C++</strong> <strong>und</strong> das Object Pascal <strong>von</strong> <strong>Delphi</strong> stellen moderne <strong>und</strong> flexible<br />
Sprachen dar, die fast nur die guten Eigenschaften mit ihren Vorgängern C <strong>und</strong> Standard-Pascal gemein<br />
haben. Beide Sprachen besitzen spezifische Stärken <strong>und</strong> Schwächen. Ein gewichtiger Vorteil <strong>von</strong> <strong>C++</strong><br />
besteht darin, daß durch das ANSI/ISO-Komitee eine normierte Sprachdefinition erstellt wurde. Die<br />
Normierung stellt sicher, daß Quelltexte auch mit den <strong>C++</strong> Compilern anderer Hersteller übersetzt<br />
werden können. Eine vergleichbare Normierung existiert für Object Pascal nicht.<br />
http://ourworld.compuserve.com/homepages/praxisservice/kapit4.htm (2 of 4) [19.05.2000 15:30:20]