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 />

2.3.6 Klassen <strong>und</strong> Objekte<br />

2.3.6.1 Struktur <strong>und</strong> Realisierung<br />

Ebenso wie viele andere Sprachelemente ähneln sich auch Klassen <strong>und</strong> Objekte in <strong>C++</strong> <strong>und</strong> Object Pascal. Sie bilden die Basis für die sehr<br />

umfangreichen Klassenbibliotheken Microsoft Fo<strong>und</strong>ation Classes (MFC) <strong>und</strong> <strong>Visual</strong> Component Library (VCL). Diese wiederum bilden<br />

die Gr<strong>und</strong>lagen <strong>und</strong> Voraussetzungen für die Entwicklungsumgebungen, die ein visuelles Programmieren ermöglichen.<br />

In Klassen <strong>und</strong> Objekten können Variable, Funktionen <strong>und</strong> Eigenschaften (Properties) deklariert werden. Variable in Klassen <strong>und</strong> Objekten<br />

werden Datenelemente, Member-Daten <strong>und</strong> Felder genannt. Klassen-Funktionen werden als Member-Funktionen <strong>und</strong> Methoden<br />

bezeichnet. Im folgenden werden die Bezeichnungen Feld, Methode <strong>und</strong> Property verwandt. Felder, Methoden <strong>und</strong> Properties sind<br />

Member, die Elemente, der Klassen <strong>und</strong> Objekte.<br />

Eine Tabelle soll zunächst einen Überblick darüber verschaffen, in welchem Umfang <strong>Visual</strong> <strong>C++</strong> <strong>und</strong> Object Pascal den Typ Klasse<br />

unterstützen:<br />

V<strong>C++</strong><br />

Object Pascal<br />

differenzierte Zugriffsrechte Ja Ja<br />

Einfachvererbung (single inheritance) Ja Ja<br />

Mehrfachvererbung (multiple inheritance) Ja Nein<br />

Zugriff auf Vorfahr mit "inherited" Bedingt Ja<br />

statische Methoden Ja Ja<br />

virtuelle Methoden (Polymorphismus) Ja Ja<br />

dynamische Methoden Nein Ja<br />

Botschaftsbehandlungs-Methoden Nein Ja<br />

Botschaftszuteilung Nein Ja<br />

static-Felder Ja Nein<br />

static-Methoden = Klassen-Methoden Ja Ja<br />

const-Felder <strong>und</strong> Methoden Ja Nein<br />

inline-Methoden Ja Nein<br />

Objekt-Variable in Klasse (Vorwärts-Dekl.) Ja Ja<br />

verschachtelte Klassen Ja Nein<br />

Konstruktor Ja Ja<br />

KopieKonstruktor Ja Bedingt<br />

virtueller Konstruktor Nein Ja<br />

Destruktor Ja Ja<br />

Metaklassen Nein Ja<br />

Klassen-Schablonen (class Templates) Ja Nein<br />

Überladen <strong>von</strong> Methoden <strong>und</strong> Operatoren Ja Nein<br />

Friends Ja Bedingt<br />

Feld-Zeiger für Klassen Ja Nein<br />

Methoden-Zeiger für Klassen Ja Ja<br />

abstrakte Basisklassen / -methoden Ja Ja<br />

Properties (Eigenschaften) Nein Ja<br />

http://ourworld.compuserve.com/homepages/praxisservice/kapit2c.htm (1 of 33) [19.05.2000 15:30:14]

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!