Sommario:
Definizione - Cosa significa Oggetto?
L'oggetto, in C #, è un'istanza di una classe creata in modo dinamico. Object è anche una parola chiave che è un alias per il tipo predefinito System.Object nel framework .NET.
Il sistema di tipo unificato di C # consente di definire oggetti. Questi possono essere definiti dall'utente, riferimento o tipo di valore, ma tutti ereditano direttamente o indirettamente da System.Object. Questa eredità è implicita, pertanto non è necessario dichiarare il tipo di oggetto con System.Object come classe base.
In generale, il tipo di oggetto è utile laddove è necessario creare routine generiche. Poiché è possibile assegnare valori di qualsiasi tipo a variabili di tipo oggetto, il tipo di oggetto viene utilizzato principalmente nella progettazione di classi che gestiscono oggetti di qualsiasi tipo che consentono il riutilizzo del codice. Le classi di raccolta non generiche nella libreria di framework .NET, come ArrayList, Queue, ecc., Utilizzano il tipo di oggetto per definire varie raccolte.
Un oggetto è anche noto come istanza.
Techopedia spiega Object
Un oggetto è composto da membri di istanza il cui valore lo rende unico in un insieme simile di oggetti.
Tutti gli oggetti utilizzati nel codice C # sono di tipo oggetto.
Quando un oggetto viene istanziato, viene allocato con un blocco di memoria e configurato secondo il modello fornito dalla classe sottostante l'oggetto. Gli oggetti di tipo valore vengono archiviati nello stack, mentre quelli di tipo riferimento vengono allocati nell'heap.
Poiché l'esecuzione del codice C # si trova nell'ambiente gestito di .NET, in cui Garbage Collector fornisce il recupero automatico della memoria, non è necessario o possibile disallocare esplicitamente la memoria allocata per gli oggetti. Gli oggetti di tipo valore vengono distrutti quando escono dall'ambito, mentre gli oggetti del tipo di riferimento vengono distrutti in modo non deterministico fino a quando l'ultimo riferimento viene rimosso.
Le due operazioni relative agli oggetti creati in C # sono boxing e unboxing. Mentre il boxing implica la conversione del tipo di valore in oggetto, unboxing si riferisce alla conversione da oggetto a un tipo di valore. Le operazioni di boxe e unboxing devono essere utilizzate con attenzione perché possono compromettere le prestazioni.
Questa definizione è stata scritta nel contesto di C #