Klasse

Eintrag zuletzt aktualisiert am: 28.06.2017

Es gibt Objekte (z. B. Datei, Benutzer), von denen nicht nur ein, sondern mehrere oder sogar beliebig viele Exemplare existieren können. Mit dem Begriff Klasse fasst man alle gleichartigen (gleich aufgebauten) Objekte zusammen. Ein Beispiel: In der Klasse "Datei" gibt es die Objekte "abc.doc", "xyz.txt" und "rst.xls". Ein Objekt bezeichnet man auch als Instanz einer Klasse. Eine Klasse definiert, welche Mitglieder (Attribute, Methoden und Ereignisse) jede Instanz oder jedes Exemplar der Klasse haben soll. Und eine Klasse enthält auch den Programmcode, der ausgeführt werden soll, wenn eine Methode aufgerufen wird. Dieser Programmcode ist in allen Instanzen einer Klasse gleich (und wird daher auch nur einmal im Speicher abgelegt). Eine Klasse ist eine Schablone zur Erzeugung von Objekten. Synonym zur Klasse wird oft auch der Begriff Objekttyp verwendet.

Klassen in COM

Eine COM-Klasse umfasst eine oder mehrere COM-Schnittstellen.

Klassen in .NET

Ein Typ ist einer Programmiersprache eine Forschrift, die eine Variable erfüllen muss. Es gibt Programmiersprachen, die zwischen elementaren Datentypen (z.B. Ganzzahlen, gebrochene Zahlen, Datumsangaben) und Objekttypen (alias Klassen) unterscheiden. In .NET und den zugehörigen Programmiersprachen gibt es diese Unterscheidung nicht, d.h. jede Typ ist ein Objekttyp/Klasse, auch für elementare Datentypen.

Eine .NET-Klasse umfasst Attribute, Methoden, Ereignisse, keinen, einen oder mehrere Konstruktoren, höchstens einen Destruktor, Konstanten und Aufzählungstypen. Eine Klasse ist im .NET Framework ein Referenz-Typ.

Eine .NET-Klasse kann keine, eine oder mehrere explizite Schnittstellen besitzen. Wenn eine Klasse deklariert, dass sie eine Schnittstelle besitzt, dann muss die Klasse alle Mitglieder dieser Schnittstelle implementieren. Da die Deklaration von Schnittstellen optional ist, kann also eine .NET-Klasse im Gegensatz zu einer COM-Klasse auch direkt Mitglieder besitzen, die zu keiner Schnittstelle gehören. Gemäß CLi-Richtlinien kann eine Klasse auch mehrere gleichnamige Mitglieder in verschiedenen Schnittstellen bzw. in der Klasse selbst besitzen. In der Klasse selbst und in jeder Schnittstelle darf ein Mitgliedsname aber nur einmal vorkommen. Eine Unterscheidung zwischen den Mitgliedern findet durch einen expliziten Zugriff auf die Schnittstellen statt.

Schnittstellen können in der CLI auch eine Vererbungshierarchie bilden. Dabei ist Mehrfachvererbung möglich und jede Schnittstelle kann auch in mehreren Vererbungsbäumen vorkommen.