Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
-C#_Lec14_OOP-1.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
315.39 Кб
Скачать

14.2. Объекты

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

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

Объект характеризуется следующими основными понятиями.

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

Свойство – признак, некоторое отдельное качество (параметр) объекта. Например, свойствами могут быть размеры объекта, заголовок, его наименование. Совокупность свойств объекта определяет его состояние. Как правило, свойства – это набор переменных и констант, в которых хранятся значения, определяющие параметры объекта.

Метод – это процедура или функция, которая реализует возможные с объектом действия.

Событие – это средство взаимодействия объектов друг с другом. Объекты генерируют заданные события и выполняют действия в ответ на заданные события. Анализ и обработка событий позволяет объекту реагировать на внешние воздействия. События – это аналог сообщений, получаемых или отправляемых объектами.

14.3. Классы

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

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

Строго говоря, на панели элементов среды разработки находятся не объекты, а классы. Например, объектом класса Button является кнопка управления на форме со всеми своими конкретными свойствами и действием.

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

Поля предназначены для хранения связанных с экземпляром класса данных и представляют собой переменные, принадлежащие классу или экземпляру класса.

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

Свойства представляют синтаксическую надстройку, позволяющую осуществлять в форме вызов функции, аналогичной чтению/записи переменной и тем самым обеспечивает инкапсуляцию объектов. Например, можно объявить свойство «Возраст», и при попытке записи в него отрицательного значения выдавать ошибку. Но на самом деле это не чисто синтаксическая надстройка. Свойства поддерживаются не только самим компилятором, но и средой Visual Studio.

Свойства класса во многом подобны полям – во всяком случае, они могут наравне с другими переменными участвовать в выражениях. Но принципиальным отличием полей от свойств является то, что при обращении к свойствам в общем случае автоматически задействуются два специальных метода – set и get.

Методы – процедуры и функции, выполняющие определенные действия над объектом или классом. Методы могут иметь параметры и могут возвращать значение.

События позволяют классам автоматически реагировать на действия пользователя и/или на изменения в состоянии программы (других объектов). Они позволяют вызывать методы других объектов, подписавшихся на данное событие, и поддерживаются как компилятором, так и средой Visual Studio. Например, подписавшись на событие «Нажатие объекта Кнопка», подписавшийся объект каждый раз при нажатии этой кнопки будет получать уведомление (в виде вызова соответствующего метода).

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]