Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsii_po_programmirovaniyu_3_semestr.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
2.11 Mб
Скачать

Спецификаторы доступа

Спецификаторы (модификаторы доступа) определяют область видимости данного класса. Возможные значения спецификаторов перечисле­ны в следующей таблице:

Спецификатор

Описание

private

Доступ только из элементов класса, внутри которых описан данный класс.

protected

Доступ только из данного или производного класса.

public

Доступ к классу не ограничен

internal

Доступ только из данной программы (сборки).

protected internal

Доступ только из данного и производного класса и из данной программы (сборки).

abstract

Абстрактный класс. Применяется в иерархии объектов.

static

Статический класс. Позволяет обращатся к методам класса без создания экземпляра класса

new

Задает новое описание класса взамен унаследованного от предка. Используется для вложения классов (в иерархии объектов).

sealed

Бесплодный класс. Запрещает наследование данного класса. Применяется в иерархии объектов.

Спецификаторы 1-5 называются спецификаторами доступа. Они определяют, откуда можно непосредственно обращаться к данному классу. Спецификаторы доступа могут комбинироваться с остальными спецификаторами.

Класс можно описывать непосредственно внутри пространства имен или внутри другого класса. В последнем случае класс называется вложен­ным. В зависимости от места описания класса некоторые из этих спецификато­ров могут быть запрещены. В данном случае будем рассмотривать классы, которые описываются непосредственно в пространстве имен. Для таких классов до­пускаются только два спецификатора: public и internal. По умолчанию, то есть если ни один спецификатор доступа не указан, подразумевается специфика­тор internal.

Объекты (или экземпляры) соответствующего класса можно создавать явным или неявным образом, то есть либо программистом, либо системой. Программист создает экземпляр класса с помощью операции new, например:

class Demo{…} // Объявление класса Demo

Demo a = new Demo(); // Создание экземпляра класса Demo

Если объем памяти, достаточный для хранения объекта, выделить не уда­лось, то генерируется исключение OutOfMemoryException.

Для каждого объекта при его создании в памяти выделяется отдельная область, в которой хранятся его данные. В классе могут присутствовать ста­тические элементы, которые существуют в единственном экземпляре для всех объектов класса. Статические данные часто называют данными класса, а осталь­ные — данными экземпляра. Для работы с данными класса используются статические мето­ды класса, для работы с данными экземпляра — методы экземпляра, или просто методы.

По умолчанию применяется модификатор internal.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]