29.04.2014 Aufrufe

Leseprobe

Leseprobe

Leseprobe

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.

38<br />

Das virtuelle Objektsystem (VOS)<br />

Eigenschaften einer Klasse müssen sich in ihren Namen unterscheiden. Unterschiedliche<br />

Typen sind hier nicht ausreichend.<br />

Da der Zugriff auf Eigenschaften über Methoden stattfindet, gilt: Wenn eine Klasse eine<br />

Eigenschaft mit dem Namen Eigenschaft definiert, sind die Bezeichner get_Eigenschaft<br />

und set_Eigenschaft innerhalb dieser Klasse für die Zugriffsfunktionen auf<br />

diese Eigenschaft reserviert.<br />

Eigenschaften lassen sich indizieren.<br />

Zugriffsfunktionen für Eigenschaften müssen dem Namensschema get_Eigenschaft,<br />

set_Eigenschaft folgen.<br />

Aufzählungen<br />

Als zugrunde liegende Typen sind ausschließlich byte, short, int und long verwendbar.<br />

Die Elemente eines Aufzählungstyps sind Konstanten, die den der Aufzählung zugrunde<br />

liegenden Typ tragen.<br />

Aufzählungen können keine Schnittstellen implementieren.<br />

Mehrere Elemente einer Aufzählung können identische Werte haben.<br />

Aufzählungen müssen von System.Enum abgeleitet sein (wofür der C#-Compiler implizit<br />

sorgt).<br />

Ausnahmen<br />

lassen sich signalisieren und abfangen.<br />

Eigene Klassen für Ausnahmen müssen von System.Exception abgeleitet sein.<br />

Schnittstellen<br />

können die Implementation anderer Schnittstellen voraussetzen.<br />

können Eigenschaften, Ereignisse und virtuelle Methoden definieren. Die Implementation<br />

dieser Elemente ist Sache der abgeleiteten Klasse.<br />

Ereignisse<br />

müssen entweder keine oder beide Methoden zum An- und Abmelden von Clients definieren.<br />

Beide Methoden erwarten einen Parameter, nämlich eine Referenz auf eine von<br />

System.Delegate abgeleitete Klasse.<br />

Für die Methoden ist das folgende Namensschema obligatorisch: add_Ereignisname,<br />

remove_Ereignisname, raise_Ereignisname.<br />

Selbstdefinierte Attribute<br />

Hier sind ausschließlich die folgenden Typen verwendbar: string, char, bool, byte,<br />

short, int, long, float, double, enum (eines CLS-verträglichen Typs) und object.<br />

Delegationen<br />

lassen sich anlegen und aufrufen.<br />

Tab. 2.1:<br />

Typen und Konventionen der Common Language Specification (Forts.)

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!