Sommario:
Definizione - Cosa significa statico?
Statico, in C #, è una parola chiave che può essere utilizzata per dichiarare un membro di un tipo in modo che sia specifico per quel tipo. Il modificatore statico può essere utilizzato con una classe, un campo, un metodo, una proprietà, un operatore, un evento o un costruttore.
Un membro statico di una classe può essere utilizzato per tenere traccia delle istanze create e mantenere i dati comuni da condividere tra tutte le istanze. Può essere utilizzato nelle classi helper e utility, che di solito contengono metodi generici che contengono astrazioni di pura logica. Un costruttore statico viene utilizzato per creare voci nei file di registro, nonché nella classe wrapper per caricare le librerie a collegamento dinamico (DLL) necessarie per eseguire il codice non gestito.
In generale, è possibile utilizzare un modificatore statico con dati e funzioni che non richiedono l'accesso a un'istanza di una classe. Viene utilizzato principalmente quando i dati e il comportamento di una classe non dipendono dall'identità dell'oggetto. L'uso di classi e membri statici migliora l'efficienza del codice.
Techopedia spiega Static
È possibile fare riferimento a un membro statico solo tramite il nome del tipo e non tramite un'istanza del tipo. L'elettricità statica non può essere utilizzata con un distruttore, un indicizzatore o qualsiasi tipo diverso dalla classe.
A differenza di un campo di istanza, che ha una copia separata per ogni istanza di una classe, un campo statico (o variabile) è condiviso da tutte le istanze di una classe. Un metodo statico può essere sovraccaricato ma non ignorato. Non può accedere a membri non statici. Poiché un metodo statico non viene chiamato con riferimento a un'istanza, è più rapido invocare un metodo statico nello stack di chiamate rispetto a un metodo di istanza.
Una classe statica può includere solo membri statici. Non può essere istanziato in fase di esecuzione e non può essere ereditato. Ha la sua durata come quella dell'applicazione in cui risiede. Un costruttore statico non ha parametri e modificatori di accesso. Viene richiamato automaticamente prima della creazione della prima istanza o del riferimento a qualsiasi membro statico.
Ad esempio, una classe statica, TemperatureConverter, può essere utilizzata per convertire la temperatura da Celsius a Fahrenheit e viceversa fornendo due metodi che contengono il codice per la conversione.
L'uso di un modificatore statico ha i suoi limiti che includono la mancanza di sicurezza del thread, incapsulamento e manutenibilità.
Questa definizione è stata scritta nel contesto di C #