Sobes.tech
Junior
164

Инкапсуляция деген эмне?

AI-дан жауап

sobes.tech AI

Инкапсуляция — бұл объектінің ішкі жағдайын жасыруға және оны сыртқы араласудан қорғауға мүмкіндік беретін механизм. Ол деректерді (өрістерді) және осы деректермен жұмыс істейтін әдістерді бір блокқа — классқа — біріктіреді.

C# тілінде инкапсуляция қол жеткізу модификаторлары (public, private, protected, internal, protected internal, private protected) және қасиеттер (Properties) арқылы жүзеге асырылады.

Қасиеттерді пайдалану мысалы:

public class Person
{
    private int _age; // Жеке өріс

    public int Age // Қоғамдық қасиет _age өрісіне бақылау жүргізуге мүмкіндік береді
    {
        get { return _age; }
        set
        {
            if (value >= 0) // Мәліметтерді тексеру
            {
                _age = value;
            }
            else
            {
                // Түсіндірме шығару немесе басқа әрекет жасауға болады
                Console.WriteLine("Жас теріс бола алмайды.");
            }
        }
    }

    public string Name { get; set; } // Автоматты түрде жүзеге асырылатын қасиет

    public void DisplayInfo()
    {
        Console.WriteLine($"Аты: {Name}, Жасы: {Age}");
    }
}

Инкапсуляцияның артықшылықтары:

  • Реализацияны жасыру: Объектінің ішкі бөлшектері сыртқы кодтан жасырын болады.
  • Қол жеткізу бақылауы: Мәліметтерге қол жеткізу әдістер немесе қасиеттер арқылы жүзеге асырылады, бұл тексеру және бизнес-логика жүргізуге мүмкіндік береді.
  • Икемділік: Класс ішіндегі өзгерістер сыртқы кодқа әсер етпейді, ол интерфейсті пайдалана отырып жұмыс істейді.
  • Қолдауды жақсарту: Код құрылымданған әрі түсінікті болады.