Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УП Технология программирования.doc
Скачиваний:
20
Добавлен:
11.06.2015
Размер:
1.69 Mб
Скачать

Основные понятия объектного подхода

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

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

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

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

Поведение объекта характеризуется набором

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

  • событий, на которые объект может реагировать,

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

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

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

Итак, каждый тип объектов характеризуется:

  • конструктором объектов этого типа,

  • набором свойств таких объектов,

  • набором методов для работы с этими объектами,

  • набором событий, на которые могут реагировать объекты этого типа.

В языке JavaScript конструктор может использоваться вместе с операцией new:

new конструктор([параметры]).

Свойство всегда обозначается его именем. Значение свойства можно использовать («читать») и присваивать (но не всегда):

х = объект.свойство,

объект.свойство = значение.

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

объект.функция([параметры]).

Скобки () у метода обязательны, а параметры – нет.

Объекты языка JavaScript не могут реагировать ни на какие события (т.е. эти объекты не могут непосредственно взаимодействовать друг с другом с помощью сообщений). Реакция на события возможна только у объектов пользовательского интерфейса, которые описываются на языке HTML (см. п. 30).

ОбъектMath, назначение, свойства, методы. Значения NaN, Infinity, null, undefined.

Встроенный в JavaScript специальный объект Math предоставляет математические числовые константы (свойства) и функции (методы). В системе всегда только один объект Math – стандартный. Поэтому у него нет конструктора.