Junior
Ինքապսուլյացիան ինչ է?
sobes.tech AI
Պատասխան AI-ից
Կապսուլյացիան այն մեխանիզմն է, որը թույլ է տալիս թաքցնել օբյեկտի ներքին վիճակը և պաշտպանել այն արտաքին միջամտություններից։ Այն միավորում է տվյալները (մարզեր) և մեթոդները, որոնք աշխատում են այդ տվյալների հետ, մեկ բլոկում՝ դասում։
C#-ում կապսուլյացիան հասնում է հասանելիության մոդիֆիկատորների (public, private, protected, internal, protected internal, private protected) և հատկությունների (Properties) միջոցով։
Օրինակ՝ հատկությունների օգտագործմամբ՝
public class Անձ
{
private int _տարիք; // Անհատական մարզ
public int Տարիք // Պублич հատկություն, որը տրամադրում է վերահսկվող մուտք _տարիք մարզին
{
get { return _տարիք; }
set
{
if (value >= 0) // Տվյալների վավերացում
{
_տարիք = value;
}
else
{
// Կարող է նետել արտահայտություն կամ կատարել այլ գործողություն
Console.WriteLine("Տարիքը չի կարող լինել բացասական։");
}
}
}
public string Անուն { get; set; } // Ավտոմատ իրականացվող հատկություն
public void ՑուցադրելՏվյալները()
{
Console.WriteLine($"Անուն: {Անուն}, Տարիք: {Տարիք}");
}
}
Կապսուլյացիայի առավելությունները՝
- Ինտերիերի թաքցում: Օբյեկտի ներքին մանրամասները թաքնված են արտաքին կոդից։
- Մուտքի վերահսկում: Մուտքը տվյալների կատարվում է մեթոդների կամ հատկությունների միջոցով, ինչը թույլ է տալիս իրականացնել վավերացում և բիզնես տրամաբանություն։
- Բազմակողմանիություն: Դասի ներքին իրականացման փոփոխությունները չեն ազդում դրա արտաքին ինտերֆեյսը օգտագործող կոդի վրա։
- Կարգավորման բարելավում: Կոդը ավելի կառուցվածքային և հասկանալի է դառնում։