Junior
Kas ir inkapsulācija?
sobes.tech AI
Atbilde no AI
Kapsulēšana ir mehānisms, kas ļauj slēpt objekta iekšējo stāvokli un aizsargāt to no ārējām iejaukšanās. Tā apvieno datus (laukus) un metodes, kas ar šiem datiem strādā, vienā blokā — klasē.
C# valodā kapsulēšana tiek panākta, izmantojot piekļuves modifikatorus (public, private, protected, internal, protected internal, private protected) un īpašības (Properties).
Piemērs ar īpašību izmantošanu:
public class Persona
{
private int _vecums; // Privāts lauks
public int Vecums // Publiska īpašība, kas nodrošina kontrolētu piekļuvi laukum _vecums
{
get { return _vecums; }
set
{
if (value >= 0) // Datu validācija
{
_vecums = value;
}
else
{
// Var izsaukt izņēmumu vai veikt citu darbību
Console.WriteLine("Vecums nevar būt negatīvs.");
}
}
}
public string Vards { get; set; } // Automātiska īpašība
public void RādītInfo()
{
Console.WriteLine($"Vārds: {Vards}, Vecums: {Vecums}");
}
}
Kapsulēšanas priekšrocības:
- Iekšējās detaļas slēpšana: Objekta iekšējās detaļas ir paslēptas no ārējā koda.
- Piekļuves kontrole: Piekļuve datiem tiek veikta caur metodēm vai īpašībām, kas ļauj veikt validāciju un biznesa loģiku.
- Elastība: Izmaiņas klasē iekšējā realizācijā neietekmē ārējo kodu, kas izmanto tās saskarni.
- Uzturēšanas uzlabošana: Kods kļūst strukturētāks un saprotamāks.