Лекция 10-11. Классы и объекты

План:

1.Основные понятия

2.Функциональные элементы класса

2.1.Данные: поля и константы

2.2.Методы

2.3.Конструкторы

2.4.Деструкторы

2.5.Свойства

2.6.Индексаторы

3.«Один класс – один файл»

Основные понятия

Класс– это обобщенное понятие, определяющие характеристики и поведение некоторого множества объектов, называемых экземплярами класса. «Классический» класс содержит данные, определяющие свойства объектов класса, и методы, определяющие их поведение. Для Windows-приложений в класс добавляется третья составляющая – события, на которые может реагировать объект класса. Все классы библиотеки .Net, а также все классы, которые создает программист в среде .Net, имеют одного общего предка – класс object.

Все программы, рассмотренные ранее, состояли из одного класса с одним методом main и несколькими вспомогательными статическими методами.

Теперь рассмотрим понятие «класс» более подробно.

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

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

{тело_класса}

Простейший пример класса: class Demo{}

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

Спецификаторы 2-6 называются спецификаторами доступа. Они определяют, откуда можно непосредственно обращаться к данному классу. Спецификаторы доступа могут комбинироваться с остальными спецификаторами.

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

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

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

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

В общем случае класс может содержать следующие функциональные элементы:

1.Данные (переменные или константы)

2.Методы (реализующие не только вычисления, но и другие действия, выполняемые классом или его экземпляром)

3.Конструкторы (реализуют действия по инициализации экземпляров или клас­са в целом)

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

5.Деструкторы (определяют действия, которые необходимо выполнить до того, как объект будет уничтожен)

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

7.Операции (задают действия с объектами с помощью знаков операций)

8.События (определяют уведомления, которые может генерировать класс)

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

Прежде чем приступить к проектированию классов, необходимо поговорить о присваивании и сравнении объектов. Механизм выполнения присваивания один и тот же для величин любого типа, как ссылочного, так и размерного, однако результаты различаются. При присваивании значения копируется значение, а при присваивании ссыл­ки – ссылка, поэтому после присваивания одного объекта другому мы получим две ссылки, указывающие на одну и ту же область памяти (см. рисунок 3.1).

Рисунок 3.1 – Механизм выполнения присваивания

Пусть были созданы три объекта а, b и с, а за­тем выполнено присваивание b = с. Теперь ссылки b и с указывают на один и тот же объект. Старое значение b становится недоступным и очищается сборщиком мусора.

Аналогичная ситуация с операцией проверки на равенство. Величины значимого типа равны, если равны их значения. Величины ссылочного типа равны, если они ссылаются на одни и те же данные. Так, объекты b и с равны, т.к. они ссылаются на одну и ту же область памяти. Но а не равно b даже при равенстве их значений.








Дата добавления: 2015-10-26; просмотров: 815;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.