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($"სახელი: {სახელი}, ასაკი: {ასაკი}");
    }
}

კაპსულაციის უპირატესობები:

  • განხილვის დამალვა: ობიექტის შიდა დეტალები დამალულია გარედან კოდიდან.
  • წვდომის კონტროლი: მონაცემებზე წვდომა ხორციელდება მეთოდების ან თვისებების მეშვეობით, რაც საშუალებას აძლევს ვალიდაციას და ბიზნეს ლოგიკას.
  • გონივრული მოქნილობა: კლასის შიდა განხორციელებაში ცვლილებები არ ახდენს გავლენას მის ინტერფეისს იყენებდეთ გარედან კოდზე.
  • მოწყობის გაუმჯობესება: კოდი უფრო სტრუქტურირებულია და ადვილად გასაგებია.