File esterni
Fa parte della sezione Programmazione orientata agli oggetti del percorso C# di Coddy. Lezione 1 di 70.
I file esterni ti permettono di organizzare le tue classi in file C# separati e di farvi riferimento nel programma principale usando i namespace.
Crea un file C# separato chiamato MyClass.cs
namespace MyApp
{
public class MyClass
{
public string Name { get; set; }
public MyClass(string name)
{
Name = name;
}
public string Greet()
{
return $"Hello, I'm {Name}";
}
}
}Fai riferimento allo spazio dei nomi nel tuo file principale
using MyApp;Crea un'istanza e usala
MyClass obj = new MyClass("Alice");
Console.WriteLine(obj.Greet());Output:
Hello, I'm AliceL'istruzione using MyApp; ti consente di usare classi dello spazio dei nomi MyApp senza doverle qualificare completamente. Lo spazio dei nomi raggruppa classi correlate. All'interno di un singolo progetto, le classi sono accessibili tra i file per impostazione predefinita; contrassegnare una classe come public è ciò che la rende accessibile anche da altri progetti (assembly).
Sfida
MedioTi vengono forniti dei file C# (MyClass.cs e Program.cs); aggiungi un'istruzione using nel file Program.cs per collegare i file e usare la classe dal file esterno!
Provalo tu
// TODO: Sostituisci ? con lo spazio dei nomi corretto per usare MyClass
using ?;
using System;
class Program
{
static void Main()
{
string testCase = Console.ReadLine();
// Crea un'istanza di MyClass e chiama GetMessage()
MyClass obj = new MyClass();
Console.WriteLine(obj.GetMessage());
}
}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