Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Комаров КУРСОВАЯ ПРОГРАММИРОВАНИЕ.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
789.5 Кб
Скачать

1.3. Понятие классов и объектов

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

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

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

Классом является специальный тип данных, включающий описание данных и описание функций (методов), которые могут быть выполнены над представителем класса — объектом.

Поле. Так называется член-переменная, содержащий некоторое значение. В ООП поля иногда называют данными объекта. К полю можно применять несколько модификаторов в зависимости от того, как вы собираетесь его использовать. В число модификаторов входят static, readonly и const.

Метод. Это реальный код, воздействующий на данные объекта (или поля). Все, используемые модификаторы класса представлены в таблице 1.2.

Таблица 1.2

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

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

Описание

1

new

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

2

public

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

3

protected

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

4

internal

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

5

protected internal

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

6

private

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

7

abstract

Абстрактный класс. Применяется в иерархиях объектов

8

sealed

Бесплодный класс. Применяется в иерархиях объектов

9

static

Статический класс.

К элементам класса относятся:

  • Константы хранят неизменяемые значения, связанные с классом;

  • Поля содержат данные класса;

  • Методы реализуют действия, выполняемые классом или экземпляром;

  • Свойства определяют характеристики класса в совокупности со способами их задания и получения ( методами записи и чтения);

  • Конструкторы выполняют действия по инициализации экземпляров или класса в целом;

  • Деструкторы определяют действия, выполняемые перед тем как объект будет уничтожен;

  • Индексаторы обеспечивают возможность доступа к элементам класса по их порядковому номеру;

  • Операции задают действия с объектами с помощью знаков операций;

  • События, на которые может реагировать объект, определяют уведомления, которые может генерировать класс;

  • Типы внутренние по отношению к классу типы данных.

Объекты класса создаются явным или неявным образом (программистом или системой). Для явного создания экземпляра используется операция new. Формат операции: new тип ( [ аргументы ]). Программа на С# состоит из взаимодействующих между собой классов. Программист создает экземпляр класса с помощью операции new, например:

Demo a = new Demo();        // создание экземпляра класса Demo

Demo b = new Demo();        // создание другого экземпляра класса Demo.

Для каждого объекта при его создании в памяти выделяется отдельная область, в которой хранятся его данные. Кроме того, в классе могут присутствовать статические элементы, которые существуют в единственном экземпляре для всех объектов класса. Часто статические данные называют данными класса, а остальные — данными экземпляра.