Принципы объектно-ориентированного программирования

         

Модификаторы доступа в С#.



Табл. 5-1

. Модификаторы доступа в С#.



Модификатор доступа Описание
public Член доступен вне определения класса и иерархии производных классов.
protected Член невидим за пределами класса, к нему могут обращаться только производные классы.
private Член недоступен за пределами области видимости определяющего его класса. Поэтому доступа к этим членам нет даже у производных классов.
internal Член видим только в пределах текущей единицы компиляции. Модификатор доступа internals плане ограничения доступа является гибридом public и protected, зависимым от местоположения кода.

Если вы не хотите оставить модификатор доступа для данного члена по умолчанию (private), задайте для него явно модификатор доступа. Этим С# отличается от C++, где член, для которого явно не указан модификатор доступа, принимает на себя характеристики видимости, определяемые модификатором доступа, заданным для предыдущего члена. Например, в приведенном ниже коде на C++ видимость членов а, Ъ и с определена модификатором public, а члены dvL e определены как protected:

class CAccessModsInCpp {

public:

int a;

int b;

int c;

protected: int d; int e; >

Чтобы решить аналогичную задачу на С#, этот код нужно изменить:

class AccessModsInCSharp {

public Int a;

public int b;

public int c;

protected int d;

protected int e; >

В результате выполнения следующего кода на С# член Ь объявляется как private:

public MoreAccessModsInCSharp

<

public int a; int b; }



Содержание раздела