Quando definiamo una nuova classe nel linguaggio C# potremmo pensare che questa non derivi da nessuna classe base, in realtà non è così. Nella piattaforma .NET tutte le classi hanno un’origine comune, la classe Object che è definita nella libreria di base del .NET framework ( System.Object ) è la base per tutte le classi definite e quindi tutte le classi in C# presentano sempre questi metodi comuni che si possono implementare nelle nostre classi, perché sono metodi virtuali:
- Equals() – Consente di verificare se due classi sono equivalenti.
- GetHashCode() – Ritorna il valore hash dell’oggetto.
- GetType() – Ritorna il tipo dell’oggetto.
- ToString() – Ritorna una rappresentazione testuale dell’oggetto.
- Finalize() – Ha il compito di rilasciare le risorse allocate non dipendenti dalla memoria per la quale abbiamo il garbage collector.
- MemberwiseClone() – Clona l’oggetto e ritorna una copia speculare della classe.
- ReferenceEquals() – Consente di verificare se due variabili riferimento puntano allo stesso oggetto.
Vediamo un esempio in cui trasformiamo un oggetto quadrato in testo:
using System; class CQuad { private int m_iLato; public CQuad(int iLato) { m_iLato = iLato; } public override string ToString() { return "Il quadrato ha il lato di " + m_iLato.ToString(); } } public class Corso { static void Main(string[] args) { CQuad cq = new CQuad(12); Console.WriteLine(cq.ToString()); Console.ReadKey(); } }
L’esempio proposto è molto semplice, ma rappresenta bene quello che ho spiegato in questa lezione.
<< Lezione Precedente – Inizio Corso – Indice Lezioni – Lezione Successiva >>