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.)