Junior
Mis on kapseldumine?
sobes.tech AI
Vastus AI-lt
Inkapseleerimine on mehhanism, mis võimaldab varjata objekti sisemist olekut ja kaitsta seda välise sekkumise eest. See ühendab andmed (väljad) ja meetodid, mis töötavad nende andmetega, ühtseks blokiks — klassiks.
C#-s saavutatakse inkapsuleerimine juurdepääsukorralduste (public, private, protected, internal, protected internal, private protected) ja omaduste (Properties) abil.
Näide omadustega:
public class Person
{
private int _age; // Privaatne väli
public int Age // Avalik omadus pakub kontrollitud juurdepääsu _age väljakule
{
get { return _age; }
set
{
if (value >= 0) // Andmete valideerimine
{
_age = value;
}
else
{
// Võib visata erandi või teha muud tegevust
Console.WriteLine("Vanus ei saa olla negatiivne.");
}
}
}
public string Name { get; set; } // Automaatne omadus
public void DisplayInfo()
{
Console.WriteLine($"Nimi: {Name}, Vanus: {Age}");
}
}
Inkapseleerimise eelised:
- Implementatsiooni varjamine: Objekti sisemised üksikasjad on välise koodi eest varjatud.
- Juurdepääsukontroll: Andmetele pääseb ligi meetodite või omaduste kaudu, mis võimaldab teha valideerimist ja äriloogikat.
- Paindlikkus: Klassisiseste muudatuste mõju välisele koodile, mis kasutab selle liidest, on minimaalne.
- Hooldatavuse parandamine: Kood muutub struktureeritumaks ja arusaadavamaks.