Sobes.tech
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($"Անուն: {Անուն}, Տարիք: {Տարիք}");
    }
}

Կապսուլյացիայի առավելությունները՝

  • Ինտերիերի թաքցում: Օբյեկտի ներքին մանրամասները թաքնված են արտաքին կոդից։
  • Մուտքի վերահսկում: Մուտքը տվյալների կատարվում է մեթոդների կամ հատկությունների միջոցով, ինչը թույլ է տալիս իրականացնել վավերացում և բիզնես տրամաբանություն։
  • Բազմակողմանիություն: Դասի ներքին իրականացման փոփոխությունները չեն ազդում դրա արտաքին ինտերֆեյսը օգտագործող կոդի վրա։
  • Կարգավորման բարելավում: Կոդը ավելի կառուցվածքային և հասկանալի է դառնում։