20.07.2013 Aufrufe

Programmieren in Java - LSW

Programmieren in Java - LSW

Programmieren in Java - LSW

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.

HOCHSCHULE MUENCHEN FAKULTÄT FÜR ELEKTROTECHNIK UND INFORMATIONSTECHNIK<br />

FG TECHNISCHE INFORMATIK V – JV – 121 – 00 – TH – 05<br />

-----------------------------------------------------------------------------------<br />

In <strong>Java</strong> nicht implementierte C/C++-Eigenschaften<br />

• Syntax und Semantik von <strong>Java</strong> entsprechen weitgehend der Syntax und Semantik von C/C++.<br />

• Zahlreiche fehleranfällige oder redundante Bestandteile /Eigenschaften von C/C++ wurden jedoch nicht implementiert.<br />

Wo s<strong>in</strong>nvoll und erforderlich s<strong>in</strong>d diese durch "bessere" Konzepte ersetzt.<br />

Im wesentlichen fehlen :<br />

▻ Po<strong>in</strong>ter und Po<strong>in</strong>terarithmetik<br />

▻ Funktionspo<strong>in</strong>ter<br />

▻ Speicherklassen (auto, register, extern)<br />

▻ Globale Variable<br />

▻ freie Funktionen<br />

▻ <strong>in</strong>l<strong>in</strong>e-Funktionen<br />

▻ die strukturierten Typen struct und union<br />

▻ Bitfelder<br />

▻ Datentyp long double<br />

▻ vorzeichenlose Datentypen (ke<strong>in</strong> unsigned und damit auch ke<strong>in</strong> signed)<br />

▻ Äquivalenz zwischen logischen (bool) und ganzzahligen Werten (ke<strong>in</strong>e Konvertierung zwischen bool und <strong>in</strong>t)<br />

▻ E<strong>in</strong>führung neuer Typnamen mittels typedef<br />

▻ Sprunganweisung goto<br />

▻ sizeof-Operator<br />

▻ Komma-Operator<br />

▻ Preprozessoranweisungen (Textersatz (Makros), bed<strong>in</strong>gte Kompilierung)<br />

▻ Header-Dateien<br />

▻ Extern- und Vorwärtsreferenzen<br />

▻ Dynamische Allokation von Variablen e<strong>in</strong>facher Datentypen<br />

▻ Datentypen long long, _Bool, sowie komplexe und imag<strong>in</strong>äre Datentypen re<strong>in</strong>e C- Eigenschaft (C99)<br />

▻ Datentyp wchar_t (<strong>in</strong> C e<strong>in</strong> <strong>in</strong> Headerdateien ,mittels typedef def<strong>in</strong>ierter Typ)<br />

▻ Statische Allokation von Objekten<br />

▻ explizite Freigabe dynamisch allozierten Speichers (ke<strong>in</strong> delete-Operator)<br />

▻ Default-Parameter von Funktionen<br />

▻ Destruktoren<br />

▻ Explizites Überladen von Operatoren (Operatorfunktionen)<br />

▻ Mehrfachvererbung<br />

▻ Templates<br />

(ab JDK 5.0 gibt es zwar generische Datentypen und generische Methoden, die aber nicht<br />

100%ig C++-Klassen-(und Funktions-)Templates entsprechen)<br />

▻ Explizite Referenzen<br />

▻ Befreundete Funktionen und Klassen (ke<strong>in</strong> Schlüsselwort friend)<br />

• Die folgenden Eigenschaften von C/C++ wurden erst mit dem JDK 5.0 e<strong>in</strong>geführt :<br />

▻ Aufzählungstypen (enum),<br />

▻ Variable Parameterliste bei Funktionen<br />

re<strong>in</strong>e<br />

C++-Eigenschaften

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!