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($"Аты: {Аты}, Жаш: {Жаш}");
    }
}

Капсулациянын артыкчылыктары:

  • Ишке ашыруунун жашырылышы: Объекттин ички деталдары сырттан келген коддон жашырылган.
  • Кирүү көзөмөлү: Маалыматтарга кирүү методдор же мүлктөр аркылуу жүргүзүлөт, бул валидация жана бизнес логикасын камсыздайт.
  • Ийкемдүүлүк: Класс ичиндеги өзгөртүүлөр анын интерфейсин колдонгон сырткы кодго таасир этпейт.
  • Түзөтүүнү жакшыртуу: Код структураланган жана түшүнүктүү болот.