То обстоятельство, что объекты классов доступны по ссылке, объясняет, почему классы называются ссылочными типами. Главное отличие типов значений от ссылочных типов заключается в том, что именно содержит переменная каждого из этих типов. Так, переменная типа значения содержит конкретное значение, а ссылочная переменная содержит не сам объект, а лишь ссылку на него.
Класс – это абстрактный тип данных. Другими словами, класс – это некоторый шаблон, на основе которого будут создаваться его экземпляры –объекты.
В Си-шарп классы объявляются с помощью ключевого слова class. Общая структура объявления выглядит следующим образом: [модификатор доступа]class[имя_класса]{//тело класса}
Модификаторов доступа для классов есть два:
- public – доступ к классу возможен из любого места одной сборки либо из другой сборки, на которую есть ссылка;
- internal – доступ к классу возможен только из сборки, в которой он объявлен.
Члены класса Классы в Си-шарп могут содержать следующие члены:- поля;- константы;- свойства;- конструкторы;- методы;- события;- операторы;- индексаторы;- вложенные типы.
Все члены класса, как и сам класс, имеют свой уровень доступа. Только у членов их может быть уже пять:
- public – доступ к члену возможен из любого места одной сборки, либо из другой сборки, на которую есть ссылка;
- protected – доступ к члену возможен только внутри класса, либо в классе-наследнике (при наследовании);
- internal – доступ к члену возможен только из сборки, в которой он объявлен;
- private – доступ к члену возможен только внутри класса;
- protected internal - доступ к члену возможен из одной сборки, либо из класса-наследника другой сборки.
Не указав модификатор доступа для члена, по умолчанию ему будет присвоен режим private.