Erste Schritte – Programmbausteine

Die im vorherigen Artikel beschriebenen Typen werden mithilfe der folgenden Bausteine erstellt: *Member _Ausdrücke und _ *Anweisungen**.

Member

Die Member von class sind entweder statische Member _ oder _Instanzmember**. Statische Member gehören zu Klassen, Instanzmember gehören zu Objekten (Instanzen von Klassen).

In der folgenden Liste finden Sie einen Überblick über die Memberarten, die eine Klasse enthalten kann.

  • Konstanten: Konstante Werte, die der Klasse zugeordnet sind
  • Felder: Variablen, die der Klasse zugeordnet sind.
  • Methods (Methoden): Aktionen, die von der Klasse ausgeführt werden
  • Properties: Aktionen im Zusammenhang mit dem Lesen und Schreiben von benannten Eigenschaften der Klasse
  • Indexer: Aktionen im Zusammenhang mit dem Indizieren von Instanzen der Klasse, z.B. einem Array
  • Ereignisse: Benachrichtigungen, die von der Klasse generiert werden können
  • Operatoren: Operatoren für Konvertierungen und Ausdrücke, die von der Klasse unterstützt werden
  • Konstruktoren: Aktionen, die zum Initialisieren von Instanzen der Klasse oder der Klasse selbst benötigt werden
  • Finalizer: Aktionen, die ausgeführt werden, bevor Instanzen der Klasse dauerhaft verworfen werden
  • Typen: Geschachtelte Typen, die von der Klasse deklariert werden

Barrierefreiheit

Jeder Member einer Klasse ist mit einem Zugriff verknüpft, der die Regionen des Programmtexts steuert, die auf den Member zugreifen können. Es gibt sechs mögliche Formen des Zugriffs. Die Zugriffsmodifizierer werden im Folgenden zusammengefasst.

  • public: Der Zugriff ist nicht eingeschränkt.
  • private: Der Zugriff ist auf diese Klasse beschränkt.
  • protected: Der Zugriff ist auf diese Klasse oder von dieser abgeleiteten Klassen beschränkt.
  • internal: Der Zugriff ist auf die aktuelle Assembly (.exe oder .dll) beschränkt.
  • protected internal: Der Zugriff ist auf diese Klasse, auf Klassen, die von dieser Klasse abgeleitet wurden, oder auf Klassen innerhalb der gleichen Assembly beschränkt.
  • private protected: Der Zugriff ist auf diese Klasse und auf Klassen in derselben Assembly beschränkt, die von diesem Typ abgeleitet wurden.

Felder

Ein Feld ist eine Variable, die einer Klasse oder einer Instanz einer Klasse zugeordnet ist.

Ein Feld, das mit dem static-Modifizierer deklariert wurde, definiert ein statisches Feld. Ein statisches Feld identifiziert genau einen Speicherort. Unabhängig davon, wie viele Instanzen einer Klasse erstellt werden, gibt es immer nur eine Kopie eines statischen Felds.

Ein Feld, das ohne den static-Modifizierer deklariert wurde, definiert ein Instanzfeld. Jede Instanz einer Klasse enthält eine separate Kopie aller Instanzfelder dieser Klasse.

Im folgenden Beispiel weist jede Instanz der Color-Klasse eine separate Kopie der Instanzfelder RG und B auf, aber es gibt nur eine Kopie der statischen Felder BlackWhiteRedGreen und Blue: