ВУЗ:
Составители:
Рубрика:
65
Описатель класса partial указывает на то, что объявление клас-
са может быть записано в нескольких файлах. Класс и все его элементы
имеет некоторый режим доступа. Основные значения для режима дос-
тупа описаны в табл. 4.1.
Таблица 4.1.
Режимы доступа
Режим доступа
Пояснение
public
общедоступные элементы, к ним можно обратиться из лю-
бого метода любого класса программы;
protected
элементы доступные в рамках объявляемого класса и из ме-
тодов производных классов;
internal
элементы доступные из методов классов, объявляемых в
рамках сборки, где содержится объявление данного класса;
protected
internal
элементы доступные в рамках объявляемого класса, из ме-
тодов производных классов, а также из методов классов, ко-
торые объявлены в сборке, содержащей объявление данного
класса;
private
элементы доступные только в методах того класса, которому
они принадлежат (используется по умолчанию).
Независимо от значения режима доступа, все элементы класса
доступны в его методах. Если элементы имеют режим доступа pri-
vate (возможно, опущенный), то тогда они доступны только в методах
самого класса. Такие элементы называются закрытыми. Если некото-
рые элементы должны быть доступны для методов любого класса B,
которому доступен сам класс A, то они должны быть описаны с атрибу-
том public (открытые элементы). Закрытые элементы составляют
важную часть класса, позволяя клиентам не вникать во многие детали
реализации этого класса. Открытые элементы класса описывают интер-
фейс класса (способ взаимодействия с объектами класса).
Если некоторые элементы класса A должны быть доступны для
вызовов в методах класса B, являющегося потомком класса A (наследо-
вании классов рассмотрено в разделе 5.2) то такие элементы описыва-
ются с атрибутом protected. Если некоторые элементы должны быть
доступны только для методов классов B1, B2 и так далее, дружествен-
ных по отношению к классу A, то они должны быть описаны с атрибу-
том internal, и включены в одну сборку (описаны в одном проекте).
Ниже показан пример описания пользовательского типа Person:
class Person {
private string name; // задается значение ""
private int age; // задается значение 0
private double salary; // задается значение 0.0
Страницы
- « первая
- ‹ предыдущая
- …
- 63
- 64
- 65
- 66
- 67
- …
- следующая ›
- последняя »