Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CSBasicCourse2ndedPodbelsky / CSBasicCourse2ndedPodbelsky.rtf
Скачиваний:
27
Добавлен:
22.03.2016
Размер:
11.9 Mб
Скачать

Глава 11. Классы как типы

11.1. Объявление класса

Уже говорилось, что класс в языке C# играет две роли: это совокупность или

"контейнер" статических методов и статических полей, и это "трафарет",

позволяющий порождать конкретные объекты. Класс как контейнер нами уже

подробно изучен.

Класс как трафарет – это библиотечный или определяемый программистом-

пользователем тип данных. В английском языке для определённого программистом

класса, играющего эту роль, используется краткое обозначение UDT – user-defined

type. Сейчас будем рассматривать именно такие классы.

Класс, как определяемый пользователем тип, позволяет создавать конкретные

объекты, состав и состояние каждого из

которых задают нестатические поля

класса, а поведение – его нестатические методы.

Достаточно общее определение

"класс:определение класса"

(декларация,

иначе объявление) класса имеет следующий формат:

модификаторы_класса "класс:модификатор_класса" opt

class имя_класса спецификация_базы_классаopt

тело_класса ;opt

Как мы уже говорили, индекс opt (от английского option – альтернатива,

выбор

)

после

элемента

декларации

указывает

на

необязательность

предшествующего ему элемента. Даже точка с запятой после тела класса не

является

обязательной.

Начнем

изучение

особенностей

построения

тех

пользовательских классов, в определения которых входят только обязательные

элементы и, возможно, модификаторы класса.

С учетом названных ограничений минимальный состав объявления класса

таков:

модификаторы_классаopt class имя_класса тело_класс

а

В декларации класса class – служебное слово, называемое ключом класса.

Имя_класса – идентификатор, выбранный автором класса в качестве его имени.

Модификаторы_класса это:

один из пяти уже неоднократно названных модификаторов доступа (public,

protected, internal, private, protected internal);

модификаторы, применяемые при вложении и наследовании классов (new,

abstract, sealed – одновременное применение модификаторов sealed и abstract

недопустимо);

static – модификатор статического класса.

При использовании нескольких модификаторов они отделяются друг от друга

пробелами.

Тело_класса

"класс:тело_класса"

– заключенная в фигурные скобки

последовательность объявлений (деклараций) членов класса "класс:член класса" .

Объявление члена класса:

объявление константы;

объявление поля;

объявление метода;

объявление свойства;

объявление события;

объявление индексатора;

объявление операции;

объявление конструктора;

объявление финализатора (деструктора);

объявление статического конструктора;

объявление типа.

Перечислив разновидности членов класса, будем вводить их в употребление по

мере необходимости, и тогда же объяснять назначение и возможности каждого из

них. Применяя в рассмотренных ранее программах библиотечные классы, мы

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

этапе

знакомства

с

особенностями

определения

пользовательских

классов

ограничимся именно такими членами

.

Соседние файлы в папке CSBasicCourse2ndedPodbelsky