Um diese Webseite uneingeschränkt betrachen zu können, aktivieren Sie bitte Javascript

2017-08-01

Von: Niklas Gerken (gepr. Oliver Osmers)





.Net - Klassen & Namensräume

in der objektorientierten Programmierung


In diesem Blogeintrag werden die Funktionen und Bedeutungen von Klassen erläutert. Außerdem wird erläutert, welche Aufgaben Namensräume besitzen.

 

Eine Klasse ist ein Container oder Behälter, in dem unterschiedliche Eigenschaften, Funktionen, Methoden, Objekte usw. angelegt werden. Vereinfacht ausgedrückt werden verschiedene Daten zusammengefasst, um ein Programm besser zu strukturieren und übersichtlicher zu gestalten.  Damit am Ende nicht Unmengen an Klassen entstehen, welche womöglich bei gleicher Bezeichnung kollidieren.  Deswegen gibt es Namensräume.  Ein Namensraum bezeichnet einen in sich geschlossenen Bereich, welcher unabhängig von Klassen in anderen Namensräumen ist.  Es besteht die Möglichkeit die Klassen aus einem anderen Namensraum zu adressieren.  Um einen Namensraum mit entsprechender Klasse zu adressieren muss der entsprechende Pfad angegeben werden.

 

Um die beiden Begriffe besser zu verstehen, werden sie an einem praktischen Beispiel erläutert.  Zwei verschiedene Wohnzimmer sind jeweils mit einem Sofa, Tisch und Fernseher ausgestattet.  Es besteht die Möglichkeit das die beiden Wohnzimmer mit dem gleichen Tisch ausgestattet sind, da dieser im Angebot war.  Die beiden Tische lassen sich dennoch einfach unterscheiden, da sie sich in zwei verschiedenen Wohnzimmern befinden.  Der Tisch ist dabei eine Klasse, da er aus verschiedenen Teilen zusammengebaut wurde und ein Teil des Wohnzimmers ist.  Das Wohnzimmer ist dabei der Namensraum, da die einzelnen Möbel und Gegenstände aus den beiden Wohnzimmern voneinander getrennt und unabhängig sind.

Schlussendlich dienen Klassen und Namensräume der Strukturierung von Programmen.  Eine Klasse bezeichnet ein Programmteil, welcher zu einem einheitlichen Objekt zusammengefasst wurde.  Ein Namensraum bezeichnet ein Bereich eines Programmes, welcher mehrere Klassen beinhalten kann und welcher unabhängig von anderen Klassen in anderen Namensräumen ist.