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;
}
}
}Verwende 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 dir, auf Typen in einem Namespace zu verweisen, ohne jedes Mal den vollständigen Namespace-Pfad eingeben zu müssen. System ist ein gängiger Namespace, der grundlegende Klassen wie Console enthält.
Aufgabe
MittelDu hast eine User-Klasse im Namespace MyApp.Models. Füge in Program.cs die richtige using-Direktive hinzu, um die User-Klasse ohne den vollständig qualifizierten Namen zu verwenden.
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. EigenschaftenKonstruktorenObjektinitialisiererWiederholung – Einfacher Taschenrechner4Vererbung
Grundlegende Vererbungs-(:)-SyntaxDas „base“-Schlüsselwort„virtual“- und „override“-SchlüsselwörterVersiegelte KlassenDie „object“-BasisklasseWiederholung – Mitarbeiterhierarchie7Erweiterte Funktionen
Überladen von OperatorenIndexer (this[])ToString()-ÜberschreibungErweiterungsmethodenRückblick – Benutzerdefinierte Liste10Entwurfsmuster Teil 1
Einführung in EntwurfsmusterThread-sicheres SingletonFactory-MusterObserver-Muster (Events)Strategy-Muster13Abschließende Herausforderungen
E-Learning-PlattformKomponente für SpielfigurenFahrzeugvermietungsdienst2Eigenschaften & statische Member
Automatisch implementierte EigenschaftenNur lesbare/schreibbare EigenschaftenStatische Felder & MethodenStatische KlassenMember mit Ausdruckskörpern5Polymorphie & Interfaces
Compile- vs. Laufzeit-PolymorphieInterface vs. abstrakte KlasseMehrere InterfacesExplizite InterfacesUpcasting & DowncastingWiederholung – Formenrechner3Klassenarchitektur
Instanz- vs. statische DatenSchlüsselwörter 'readonly' & 'const'Backing FieldsRückblick – Bankkontenverwaltung6Kapselung
ZugriffsmodifikatorenEigenschaften zur KapselungImplementierung der DatenkapselungMuster für UnveränderlichkeitRückblick – SchülerdatenÜbe selbstständig: Online-C#-Compiler