Junior
Ce este încapsularea?
sobes.tech AI
Răspuns de la AI
Incapsularea este un mecanism care permite ascunderea stării interne a unui obiect și protejarea sa împotriva intervenției externe. Ea combină datele (câmpurile) și metodele care lucrează cu aceste date într-un singur bloc — clasa.
În C#, incapsularea se realizează prin intermediul modificatorilor de acces (public, private, protected, internal, protected internal, private protected) și proprietăților.
Exemplu cu utilizarea proprietăților:
public class Persoană
{
private int _vârstă; // Câmp privat
public int Vârstă // Proprietate publică care oferă acces controlat la câmpul _vârstă
{
get { return _vârstă; }
set
{
if (value >= 0) // Validare date
{
_vârstă = value;
}
else
{
// Se poate arunca o excepție sau se poate efectua altă acțiune
Console.WriteLine("Vârsta nu poate fi negativă.");
}
}
}
public string Nume { get; set; } // Proprietate auto-implementată
public void AfișeazăInformații()
{
Console.WriteLine($"Nume: {Nume}, Vârstă: {Vârstă}");
}
}
Avantajele incapsulării:
- Ascunderea implementării: Detaliile interne ale obiectului sunt ascunse de codul extern.
- Controlul accesului: Accesul la date se face prin metode sau proprietăți, ceea ce permite validarea și logica de afaceri.
- Flexibilitate: Modificările în implementarea internă a clasei nu afectează codul extern care utilizează interfața sa.
- Îmbunătățirea întreținerii: Codul devine mai structurat și mai ușor de înțeles.