Java




Реализация


1. Объекты клиентской части

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

Анализ требований, предъявляемых нашей задачей, выявляет три базовых объекта, которые необходимо реализовать на JavaScript:

  1. массив запросов [array_of_query];
  2. запрос [query];
  3. критерий запроса [criterion].

В языке JavaScript не предусмотрены конструкции для определения сложных типов данных, поэтому пользовательские объекты конструируются с помощью функций. Ниже приведена реализация средствами JavaScript конструктора первого в этом списке объекта - массив запросов [array_of_query].

function array_of_query() { // Свойства this.array_of_query = new Array() // Вводит массив объектов (запросов) this.id = -1 // Определяет уникальный идентификатор запроса // Методы this.array_size = array_size // Возвращает кол-во запросов в массиве this.add_query = add_query // Добавляет запрос в массив запросов this.del_query = del_query // Удаляет запрос из массива запросов this.index_query = index_query // Возвращает индекс запроса в массиве запросов }

Как видно, в данном конструкторе определены 2 свойства (переменные) и 4 метода. Конструирование конкретного объекта (или в терминологии объектно-ориентированного программирования - определение экземпляра класса) осуществляется в JavaScript следующим способом:

имя_объекта = new имя_функции_конструктора()

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

stack = new array_of_query()

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




Содержание  Назад  Вперед