Namespace e direttive
Fa parte della sezione Programmazione orientata agli oggetti del percorso C# di Coddy. Lezione 2 di 70.
Gli spazi dei nomi organizzano il tuo codice e prevengono i conflitti tra i nomi. Raggruppano classi correlate, proprio come le cartelle organizzano i file.
Crea una classe all'interno di uno spazio dei nomi
namespace MyApp.Models
{
public class User
{
public string Name { get; set; }
public User(string name)
{
Name = name;
}
}
}Usa una direttiva using per accedere alle classi di un altro spazio dei nomi
using System;
using MyApp.Models;
class Program
{
static void Main()
{
User user = new User("Alice");
Console.WriteLine(user.Name);
}
}Output:
AliceSenza una direttiva using, devi usare il nome completo qualificato
MyApp.Models.User user = new MyApp.Models.User("Bob");La direttiva using ti consente di fare riferimento ai tipi in uno spazio dei nomi senza digitare ogni volta il percorso completo dello spazio dei nomi. System è uno spazio dei nomi comune che contiene classi fondamentali come Console.
Sfida
MedioHai una classe User nello spazio dei nomi MyApp.Models. Aggiungi la direttiva using corretta in Program.cs per usare la classe User senza il nome completo.
Provalo tu
using System;
// TODO: Aggiungi una direttiva using per MyApp.Models
class Program
{
static void Main()
{
string userName = Console.ReadLine();
// TODO: Crea un oggetto User usando userName
// TODO: Stampa "User created: " seguito dal Name dell'utente
}
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Programmazione orientata agli oggetti
1Fondamenti della programmazione orientata agli oggetti
File esterniNamespace e direttiveIntroduzione a classi e oggettiLa parola chiave "this"Metodi e parametriCampi e proprietàCostruttoriInizializzatori di oggettiRiepilogo - Calcolatrice semplice4Ereditarietà
Sintassi di base dell'ereditarietà (:)La parola chiave 'base'Parole chiave virtual e overrideClassi sealedLa classe base 'object'Riepilogo - Gerarchia dei dipendenti7Funzionalità avanzate
Sovraccarico degli operatoriIndicizzatori (this[])Override di ToString()Metodi di estensioneRiepilogo - Lista personalizzata10Pattern di progettazione Parte 1
Introduzione ai pattern di progettazioneSingleton thread-safePattern FactoryPattern Observer (eventi)Pattern Strategy2Proprietà e membri statici
Proprietà implementate automaticamenteProprietà di sola lettura e di sola scritturaCampi e metodi staticiClassi staticheMembri con corpo di espressione5Polimorfismo e interfacce
Polimorfismo a compile time e runtimeInterfaccia o classe astrattaInterfacce multipleInterfacce espliciteUpcasting e downcastingRipasso: calcolatore di forme8Concetti avanzati di programmazione a oggetti
Composizione invece dell'ereditarietàTipi generici (classi e metodi)Delegati ed eventiAttributi e reflectionIDisposable e istruzione usingNozioni di base sull'iniezione delle dipendenze11Pattern di progettazione, parte 2
Pattern del ComandoPattern dell’AdattatorePattern del DecoratorePattern Template MethodPattern dello StatoPattern Composito3Architettura delle classi
Dati di istanza vs staticiParole chiave 'readonly' e 'const'Campi di supportoRiepilogo - Gestore di conti bancari6Incapsulamento
Modificatori di accessoProprietà per l'incapsulamentoImplementazione dell'occultamento dei datiModelli di immutabilitàRiepilogo - Registri degli studentiEsercitati da solo: Compilatore C# online