Junior
Cos'è l'incapsulamento?
sobes.tech AI
Risposta dell'AI
L'incapsulamento è un meccanismo che consente di nascondere lo stato interno di un oggetto e di proteggerlo da interferenze esterne. Combina dati (campi) e metodi che operano su questi dati in un unico blocco — la classe.
In C#, l'incapsulamento si ottiene tramite modificatori di accesso (public, private, protected, internal, protected internal, private protected) e proprietà.
Esempio con utilizzo di proprietà:
public class Persona
{
private int _età; // Campo privato
public int Età // Proprietà pubblica che fornisce un accesso controllato al campo _età
{
get { return _età; }
set
{
if (value >= 0) // Validazione dei dati
{
_età = value;
}
else
{
// Si può lanciare un'eccezione o eseguire altra azione
Console.WriteLine("L'età non può essere negativa.");
}
}
}
public string Nome { get; set; } // Proprietà auto-implementata
public void MostraInfo()
{
Console.WriteLine($"Nome: {Nome}, Età: {Età}");
}
}
Vantaggi dell'incapsulamento:
- Nascondere l'implementazione: I dettagli interni dell'oggetto sono nascosti dal codice esterno.
- Controllo dell'accesso: L'accesso ai dati avviene tramite metodi o proprietà, consentendo validazione e logica di business.
- Flessibilità: Le modifiche all'implementazione interna della classe non influenzano il codice esterno che utilizza la sua interfaccia.
- Miglioramento della manutenibilità: Il codice diventa più strutturato e comprensibile.