C Sharp/Модифікатори доступу

Матеріал з Вікіпідручника
Перейти до навігації Перейти до пошуку

Відповідно до парадигми про інкапсуляції, тип або член типу (тобто поле, функція та ін.) може приховати себе від інших типів або інших збірок, використавши один з наступних п'яти модифікаторів доступу до декларації:

  • public - тип або член типу повністю доступний. Елементи перерахувань (enum) або члени інтерфейсу завжди мають такий доступ.
  • internal - тип буде доступний лише в рамках однієї збірки.
  • private - член типу доступний лише в рамках цього типу, тобто він прихований від всіх зовнішніх типів. По замовчуванню всі члени мають такий режим доступу.
  • protected - член класу є доступним лише в рамках цього класу, або всередині класу який від нього наслідується.
  • protected internal - елемент класу C, який знаходиться в збірці A доступний лише в межах C, в межах класу який наслідується від С, або в рамках збірки A. Тобто коротко він означає protected або internal, а не protected і internal

Обмеження при використанні модифікаторів доступу[ред.]

Тип або його член не можуть об'явити більш широкі права доступу до себе, ніж будь-який інший тип який він використовує у власній декларації. Наприклад, клас не може мати модифікатор public, якщо він наслідується від класу internal.