Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
7
Добавлен:
21.05.2015
Размер:
7.28 Кб
Скачать

содержит ключевое слово class, за которым следует его имя,а да­лее в фигурных скобках - тело класса, то есть список его элементов. Кроме того, для класса можно задать его базовые классы (предки) и ряд необязательных ат­рибутов и спецификаторов, определяющих различные характеристики класса:

[ атрибуты ] [ спецификаторы ] classимя-класса [ : предки ] тело-класса

Как видите, обязательными являются только ключевое слово class, а также имя и тело класса. Имя класса задается программистом по общим правилам С#.Тело класса— это список описаний его элементов, заключенный в фигурные скобки. Список может быть пустым, если класс не содержит ни одного элемента. Таким образом, простейшее описание класса может выглядеть так:

classDemo {}

Необязательные атрибуты задают дополнительную информацию о классе.

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

Таблица 1.1. Спецификаторы класса

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

Описание

1

new

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

•')

public

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

3

protected

Используется для вложенных классов. Доступ только из элементов данного и производных классов

L

internal

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

5

protected internal

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

6

private

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

'

abstract

Абстрактный класс. Применяется в иерархиях объектов, рассматривается в главе 8 (см. с. 181)

s

sealed

Бесплодный класс. Применяется в иерархиях объектов, рассматривается в главе 8 (см. с. 182)

9

static

Статический класс. Введен в версию языка 2.0. Рассматривается в разделе «Конструкторы» (см. с. 114)

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

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