Costruttori e membri statici
Costruisca oggetti con i costruttori (inclusi overloading e concatenamento) e utilizzi campi/metodi statici per contenere dati condivisi da tutte le istanze.
Costruttori e membri statici è una lezione C# Academy gratuita su CoddyKit. Questa è la lezione 2 di 3. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C# Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C# Academy include 3 lezioni in totale.
Panoramica su costruttori e static
Obiettivo: Costruire oggetti in modo sicuro e condividere dati tra le istanze.
- I costruttori impostano lo stato obbligatorio
- Overload e concatenamento con this(...)
- Campi e metodi static condivisi da tutti gli oggetti
Costruttore di base
Un costruttore viene eseguito quando si chiama new e inizializza l'oggetto.
using System;
// Constructor sets required data on creation
public class User
{
public string Name { get; private set; }
public int Age { get; private set; }
public User(string name, int age)
{
Name = name;
Age = age;
}
}
public class Program
{
public static void Main(string[] args)
{
User u = new User("Ada", 28);
Console.WriteLine(u.Name + " (" + u.Age + ")");
}
}
Overload e concatenamento
Usi l'overload dei costruttori per comodità e this(...) per riutilizzare la logica.
using System;
// Overloads let you offer defaults; chain with this(...)
public class Point2D
{
public int X { get; private set; }
public int Y { get; private set; }
public Point2D(int x, int y)
{
X = x; Y = y;
}
public Point2D(int xy) : this(xy, xy) { } // calls the main constructor
}
public class Program
{
public static void Main(string[] args)
{
Point2D p1 = new Point2D(3, 4);
Point2D p2 = new Point2D(5); // becomes (5,5)
Console.WriteLine("p1: " + p1.X + "," + p1.Y);
Console.WriteLine("p2: " + p2.X + "," + p2.Y);
}
}
Membri static
I membri static sono condivisi da tutte le istanze. Chiami i metodi static tramite il nome del tipo.
using System;
// Static members live on the type (one copy shared)
public class Counter
{
private static int _created = 0; // shared count
public int Id { get; private set; }
public Counter()
{
_created = _created + 1;
Id = _created;
}
public static int CreatedCount()
{
return _created;
}
}
public class Program
{
public static void Main(string[] args)
{
Counter a = new Counter();
Counter b = new Counter();
Console.WriteLine("a.Id=" + a.Id + ", b.Id=" + b.Id);
Console.WriteLine("Total created = " + Counter.CreatedCount());
}
}
Costruttore static e costanti
Un costruttore static viene eseguito una volta per ogni tipo. Usi const per i valori letterali determinati in fase di compilazione e static readonly per i valori impostati in fase di esecuzione.
using System;
public class AppConfig
{
public const string AppName = "Demo"; // compile-time constant
public static readonly DateTime StartedAt; // runtime-initialized once
// Static constructor: runs once before first use of the type
static AppConfig()
{
StartedAt = DateTime.UtcNow;
}
public static string Info()
{
return AppName + " started at " + StartedAt.ToString("u");
}
}
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine(AppConfig.Info());
Console.WriteLine(AppConfig.Info()); // static ctor ran only once
}
}
Suggerimenti
Suggerimenti:
- Mantenga i costruttori brevi; convalidi gli input in anticipo.
- Usi gli overload per i valori predefiniti più comuni; concateni tutto a un unico costruttore principale.
- Usi static quando i dati appartengono realmente al tipo, ad esempio per contatori e funzioni di utilità.
Concetto di membri static
Riepilogo
Riepilogo: Usi i costruttori per impostare lo stato obbligatorio, gli overload e il concatenamento per comodità, e aggiunga membri static per i dati o le funzioni di utilità condivisi da tutti gli oggetti.
Domande Frequenti
La lezione «Costruttori e membri statici» è gratuita?
Sì — il testo completo di «Costruttori e membri statici» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C# Academy, passa a CoddyKit PRO. Il corso C# Academy include 3 lezioni in totale.
Cosa imparerò in «Costruttori e membri statici»?
Costruisca oggetti con i costruttori (inclusi overloading e concatenamento) e utilizzi campi/metodi statici per contenere dati condivisi da tutte le istanze. Eserciti C# Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare C# Academy?
Non è richiesta alcuna esperienza precedente. C# Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 3.
Quanto tempo richiede la lezione «Costruttori e membri statici»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione C# Academy?
Sì. Ogni lezione C# Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Campi, proprietà automatiche e inizializzatori di oggetti
- Costruttori e membri statici
- Incapsulamento e invarianti