Namespaces & Direktiven
Teil des Abschnitts Objektorientierte Programmierung der C#-Journey von Coddy — Lektion 2 von 70.
Namespaces organisieren Ihren Code und verhindern Namenskonflikte. Sie gruppieren verwandte Klassen, so wie Ordner Dateien organisieren.
Erstellen Sie eine Klasse innerhalb eines Namespaces
namespace MyApp.Models
{
public class User
{
public string Name { get; set; }
public User(string name)
{
Name = name;
}
}
}Verwenden Sie eine using-Direktive, um auf Klassen aus einem anderen Namespace zuzugreifen
using System;
using MyApp.Models;
class Program
{
static void Main()
{
User user = new User("Alice");
Console.WriteLine(user.Name);
}
}Ausgabe:
AliceOhne eine using-Direktive müssen Sie den vollqualifizierten Namen verwenden
MyApp.Models.User user = new MyApp.Models.User("Bob");Die using-Direktive ermöglicht es Ihnen, auf Typen in einem Namespace zu verweisen, ohne jedes Mal den vollständigen Namespace-Pfad eingeben zu müssen. System ist ein häufig verwendeter Namespace, der grundlegende Klassen wie Console enthält.
Aufgabe
MittelSie haben eine User-Klasse im Namespace MyApp.Models. Fügen Sie die korrekte using-Direktive in Program.cs hinzu, um die User-Klasse ohne den vollqualifizierten Namen zu verwenden.
Spickzettel
Namespaces organisieren Code und verhindern Namenskonflikte, indem sie verwandte Klassen gruppieren.
Erstellen Sie eine Klasse innerhalb eines Namespace:
namespace MyApp.Models
{
public class User
{
public string Name { get; set; }
public User(string name)
{
Name = name;
}
}
}Verwenden Sie eine using-Direktive, um auf Klassen aus einem anderen Namespace zuzugreifen:
using System;
using MyApp.Models;
class Program
{
static void Main()
{
User user = new User("Alice");
Console.WriteLine(user.Name);
}
}Verwenden Sie ohne eine using-Direktive den vollqualifizierten Namen:
MyApp.Models.User user = new MyApp.Models.User("Bob");Der System-Namespace enthält grundlegende Klassen wie Console.
Probier es selbst
using System;
// TODO: Using-Direktive für MyApp.Models hinzufügen
class Program
{
static void Main()
{
string userName = Console.ReadLine();
// TODO: Ein User-Objekt mit userName erstellen
// TODO: "User created: " gefolgt vom Namen des Benutzers ausgeben
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Objektorientierte Programmierung
1Grundlagen der OOP
Externe DateienNamespaces & DirektivenEinführung in Klassen & ObjekteDas 'this'-SchlüsselwortMethoden und ParameterFelder vs. EigenschaftenKonstruktorenObjekt-InitialisiererZusammenfassung - Einfacher Taschenrechner4Vererbung
Grundlagen der Vererbung (:) SyntaxDas 'base'-SchlüsselwortVirtual & Override SchlüsselwörterVersiegelte KlassenDie 'object'-BasisklasseZusammenfassung – Mitarbeiter-Hierarchie7Fortgeschrittene Funktionen
OperatorüberladungIndexer (this[])ToString() überschreibenErweiterungsmethodenZusammenfassung - Benutzerdefinierte Liste2Eigenschaften & Statische Member
Automatisch implementierte EigenschaftenRead-Only- & Write-Only-EigenschaftenStatische Felder & MethodenStatische KlassenExpression-Bodied Member5Polymorphismus & Interfaces
Compile- vs. Runtime-PolymorphismusInterface vs. abstrakte KlasseMehrfache InterfacesExplizite InterfacesUpcasting & DowncastingRecap – Shape Calculator3Klassenarchitektur
Instanz- vs. statische Daten'readonly' & 'const' SchlüsselwörterBacking FieldsZusammenfassung - Bankkonto-Manager6Kapselung
ZugriffsmodifikatorenProperties zur KapselungImplementierung von Data HidingImmutability-MusterRückblick – Studierendendaten