Модификаторы доступа

Автор: Laura McKinney
Дата создания: 9 Апрель 2021
Дата обновления: 24 Июнь 2024
Anonim
Java для начинающих. Урок 28: Модификаторы доступа public, private, protected и default
Видео: Java для начинающих. Урок 28: Модификаторы доступа public, private, protected и default

Содержание

Определение - что означают модификаторы доступа?

Модификаторы доступа - это ключевые слова, используемые для определения доступности класса (или типа) и его членов. Эти модификаторы могут использоваться из кода внутри или вне текущего приложения.

Модификаторы доступа в .NET используются для управления доступностью каждого из членов типа из разных возможных областей кода. Это может быть обработано внутри текущей сборки или вне ее. Сборка представляет собой логическую единицу функциональности и состоит из типов и ресурсов, расположенных в одном или нескольких файлах.

Цель использования модификаторов доступа - реализовать инкапсуляцию, которая отделяет интерфейс типа от его реализации. При этом могут быть получены следующие преимущества:


  • Предотвращение доступа пользователей к внутренним данным, установленным в недопустимом состоянии.
  • Обеспечение изменений во внутренней реализации типов, не затрагивая компоненты, использующие его.
  • Снижение сложности системы за счет уменьшения взаимозависимостей между программными компонентами.

Введение в Microsoft Azure и Microsoft Cloud | Из этого руководства вы узнаете, что такое облачные вычисления и как Microsoft Azure может помочь вам перенести и запустить свой бизнес из облака.

Techopedia объясняет модификаторы доступа

.NET Framework предоставляет возможность иметь пять типов модификаторов доступа:

  1. Private - код внутри типа может иметь доступ только к членам этого типа, и, следовательно, доступ ограничен текущим типом
  2. Открытый - код из любого места в текущей сборке или другой сборке, которая ссылается на него, может получить доступ к членам типа и, следовательно, обеспечивает доступ из любого места
  3. Защищенный - код внутри типа или его производные классы могут обращаться к членам типа, и, следовательно, доступность ограничена текущим типом и производными классами.
  4. Внутренний - код в текущей сборке, но не из другой сборки, может обращаться к членам типа, поэтому доступ ограничен текущей сборкой
  5. Защищенный внутренний - код в текущей сборке может получить доступ к членам типа, а также из сборки, которая на него ссылается. Следовательно, доступность происходит от производных классов в текущей сборке и должна осуществляться через экземпляр типа производного класса в сборке, ссылающейся на него.

Есть несколько правил, которые применяются к модификаторам доступа:


  • Если для членов типа не указан модификатор доступа, уровень доступа по умолчанию является закрытым и внутренним.
  • Для пространств имен запрещены модификаторы доступа, поскольку они являются общедоступными.
  • Вложенные классы и члены структуры, объявленные внутри типа, для содержащего класса по умолчанию являются закрытыми.
  • Члены структуры не могут быть объявлены защищенными, поскольку они не поддерживают наследование.
  • Деструкторы не могут иметь модификаторы доступа.
  • Производный тип не может иметь большей доступности, чем его базовый тип.
  • Член содержащего типа должен иметь меньшую доступность, чем у содержащего его типа. Это можно проиллюстрировать на примере: открытый метод в содержащем типе не может иметь «A» в качестве параметра, если тип A не доступен для общего доступа.
  • Интерфейсы объявляются общедоступными и внутренними и не могут иметь других модификаторов доступа, поскольку интерфейсы в основном используются для доступа производными классами от него.
  • Модификаторы доступа используются не только для членов класса, но и для других конструкций кода с тем же намерением.