04.06.2013 Aufrufe

Typen in C - AG Kastens - Universität Paderborn

Typen in C - AG Kastens - Universität Paderborn

Typen in C - AG Kastens - Universität Paderborn

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.

3. <strong>Typen</strong> und Typhierarchie <strong>in</strong> C#<br />

In C# aber auch <strong>in</strong> den meisten objekt-orientierten Programmiersprachen gibt es zwei völlig<br />

verschiedene Datentypen (siehe Abb. 3.1), nämlich die Grundtypen (wie z.B. char, <strong>in</strong>t, float), die<br />

<strong>in</strong> der Sprache vordef<strong>in</strong>iert s<strong>in</strong>d, und die Referenztypen - be<strong>in</strong>halten class, <strong>in</strong>terface, delegate und<br />

array <strong>Typen</strong> - welche auch die Anwender def<strong>in</strong>ieren können (z.B. Klassen).<br />

Abbildung 3.1: Übersicht über <strong>Typen</strong> <strong>in</strong> C#<br />

Gemäß CTS (Common Type System) s<strong>in</strong>d alle Datenelemente <strong>in</strong> .NET Programmen,<br />

<strong>in</strong>sbesondere auch <strong>in</strong> C#, Objekte. Die CLR (Common Language Runtime) fordert, dass jede<br />

Klasse direkt oder <strong>in</strong>direkt vom Typ System.Object abgeleitet wird. Daher s<strong>in</strong>d die beiden<br />

folgenden Typdef<strong>in</strong>itionen <strong>in</strong> C# identisch.<br />

// implizit von Object abgeleitet // explizit von Object abgeleitet<br />

class Student { class Student : System.Object {<br />

... ...<br />

} }<br />

3.1. Werttypen<br />

<strong>Typen</strong><br />

Werttypen Referenztypen<br />

Primitivtypen<br />

Struct-<strong>Typen</strong><br />

Klassen<br />

Arrays<br />

Enum-<strong>Typen</strong> Interfaces<br />

Delegates<br />

Werttypen s<strong>in</strong>d e<strong>in</strong>fach zu verstehende <strong>Typen</strong>. Sie enthalten direkt die Nutzdaten, z.B. e<strong>in</strong>e<br />

Integer-Variable enthält e<strong>in</strong>en ganzzahligen Wert, e<strong>in</strong>e Variable des Typs bool enthält den Wert<br />

true oder false. Das Hauptmerkmal bei den Werttypen ist, dass man bei e<strong>in</strong>er Wertzuweisung zu<br />

e<strong>in</strong>er anderen Variable e<strong>in</strong>e Kopie der Nutzdaten der anderen Variable zugewiesen bekommt.<br />

Wenn e<strong>in</strong>e Variable zu den Werttypen gehört, dann handelt es sich um e<strong>in</strong>e Variable, die<br />

tatsächlich die Nutzdaten enthält. Daher dürfen sie nicht un<strong>in</strong>itialisiert se<strong>in</strong>.<br />

Seite 5 von 17

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!