Ответы по Технологии программирования / Описание класса
.docxсодержит ключевое слово 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. Рекомендуется предусматривать обработку этого исключения в программах, работающих с объектами большого объема