Visual C# 2011 Grundkurs

Namespaces

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Mit Namespaces trennen Sie mehrere gleichbenannte Klassen voneinander und gruppieren nach logischen Funktionen. Sie erfahren auch, wie Sie eigene Namensbereiche definieren können.
04:14

Transkript

Wir schauen uns jetzt einmal an, wozu Namensbereiche in C# gut sind. Wenn ich ein Programm schreiben wollte, in diesem Programm zweimal die Klasse "Person" definieren wollte, dann würde das nicht ohne Weiteres gehen. Ist ja auch klar, wenn der Compiler später ein Programm kompilieren würde, bei dem ich ein Personenobjekt erstellen würde, wüsste der Compiler nicht, "Welche von diesen beiden Versionen der Klasse soll ich denn jetzt genau nehmen?" Deswegen gibt es Namensbereiche. Namensbereiche umschließen diese Klassen mehr oder weniger, d.h. ich kann jetzt beide Personenklassen benutzen, denn die linke Personenklasse kann ich jetzt eindeutig identifizieren über "Namensbereich1.Person" und die rechte Klasse Person kann ich eindeutig über "Namensbereich2.Person" identifizieren. Dadurch ist so eine Eindeutigkeit im Programm sichergestellt und ich kann diese beiden Personenklassen nebeneinander benutzen. Das ist der erste Einsatzzweck und der zweite ist, dass ich Klassen nach bestimmten Funktionalitäten gruppiere. Wenn ich mir z.B. den Namensbereich in .NET angucke, dann gibt es sowas wie System.IO. IO ist Input/Output, d.h.  alle möglichen Klassen, die in irgendeiner Weise Daten ein- und ausgeben. System.NET hat z.B. Netzwerkfunktionalitäten, System.Security Sicherheitsfunktionalitäten usw. Das ist also auch noch mal eine Möglichkeit, wie ich diese Namensbereiche nutzen kann. Wie wir Namensbereiche in C# konkret nutzen, schauen wir uns jetzt mal genauer an. Als Ausgangslage unserer Untersuchung von den Namensbereichen nehmen wir mal ein normales Konsolenprogramm. Hier ist bereits einer von diesen Namensbereichen definiert. Dieser Namensbereich ermöglicht es mir, jede Klasse, die ich benutze, eindeutig anzusprechen. Ich könnte z.B. anstatt von der Klasse "Programm" eine neue Instanz zu erzeugen auf diese Art genauso gut sagen, ich gehe über den Namespace und im Namespace finde ich die Klasse "Programm" und dort erzeuge ich mir dann auf diesem etwas längeren Weg eine Instanz. Das hat den Vorteil, dass Sie diese Klasse "Progra,m" eindeutig identifiziert haben. Eigene Namespaces kann ich mir natürlich auch bauen. Dazu legen wir uns mal in diesem Namespace zwei Klassen an. Zunächst eine Klasse "Person" ohne irgendwelche Funktionalität und dann nehmen wir mal ebenfalls eine Klasse "Person". Jetzt könnte es ja sein, dass die eine Klasse ein bisschen anders definiert wird als die andere Klasse. Das Ganze würde natürlich nicht funktionieren, wenn ich das Ganze hier mal erstelle, meldet mir der Compiler, dass in dem Namespace bereits eine Definition für die Klasse "Person" vorhanden ist. Das ist dann diese Stelle, also der meckert quasi hier an der zweiten. D.h. wir müssten jetzt diese beiden Klassen "Person" in verschiedene Namensbereiche aufteilen. Wir können jetzt zum einen in diesem Namensbereich hier einen Unternamensbereich eröffnen. Wir könnten jetzt hier z.B. sagen: "Namespace1". Dann auf diese Art und Weise diese Klasse hier unten eindeutig machen und hier dann den Namespace "Namespace2" eröffnen. Dann könnte ich hier oben meine Projektmappe erstellen, weil jetzt die beiden Personenklassen in unterschiedlichen Namensbereichen definiert sind. Wenn ich jetzt hier oben z.B. ein Objekt von dieser Klasse hier erzeugen würde, würde ich sagen: "Namespace1.Person p1 = NewNamespace1 Person" und zwar in Namespace natürlich äquivalent, ich würde hier sagen: "Person p2 = new Person". Das wäre schon alles, was ich machen müsste, um zwei Klassen mit dem selben Namen in ein- und demselben Programm nutzen zu können, indem ich sie eben in zwei Namespaces aufteile. Wir haben uns in diesem Video angeguckt, was man mit Namespaces unter .NET machen kann. Namespaces haben eigentlich zwei Aufgaben. Zum einen ermöglichen sie mir, zwei Klassen mit dem selben Namen im selben Programm nutzen zu können, das haben wir jetzt gerade hier im Beispiel gesehen. Der zweite große Vorteil ist, dass wir Klassenfunktionalitäten in Namespaces gruppieren können. Das haben wir in den Folien gesehen, z.B. System.IO ist der Namensbereich in .NET, der alle Klassen enthält, die irgendwas mit Ein- und Ausgabe von Daten zu tun haben. So einen Namensbereich definiere ich zunächst mit dem Wort Namespace, dann ein Bezeichner und dann fasse ich alles, was in diesem Namespace stehen soll, zwischen diesen geschweiften Klammern zusammen.

Visual C# 2011 Grundkurs

Steigen Sie in die C#-Programmierung ein und lernen Sie sowohl die Grundlagen der Sprache C# als auch die Entwicklungsumgebung Visual Studio 2010 und .NET-Framework kennen.

7 Std. 28 min (81 Videos)
Derzeit sind keine Feedbacks vorhanden...
Hersteller:
Software:
Visual Studio Visual Studio 2010
Exklusiv für Abo-Kunden
Erscheinungsdatum:27.06.2011

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!