Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб12 отчёт Интернет.doc
Скачиваний:
13
Добавлен:
15.03.2016
Размер:
641.54 Кб
Скачать

17

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«Белгородский государственный национальный исследовательский университет»

(НИУ «БелГУ»)

ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И ЕСТЕСТВЕННЫХ НАУК

КАФЕДРА МАТЕМАТИЧЕСКОГО И ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИНФОРМАЦИОННЫХ СИСТЕМ

Методы и средства программирования для Интернет

Отчет по лабораторной работе №12

студента 2 курса группы 07001402

Черноморец Дарьи Андреевны

URL для запуска сайта на выполнение:

Проверили:

Михелев Владимир Михайлович

Кузнецов Константин Владимирович

Белгород 2015

Тема работы: Пользовательские объекты.

Задание

Вариант 17

Создать пользовательский объект автозапчасть к автомобилю. Создать в скрипте 12 экземпляров данного объекта и вывести эти данные на страницу.

Теоретическая часть

JavaScript — прототипно-ориентированный сценарный язык программирования.

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

На JavaScript оказали влияние многие языки, при разработке была цель сделать язык похожим на Java, но при этом лёгким для использования непрограммистами. Языком JavaScript не владеет какая-либо компания или организация, что отличает его от ряда языков программирования, используемых в веб-разработке.

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

Объекты в JavaScript можно создать несколькими способами. В данной работе использовался такой способ:

function имя_конструктора([пар1,...[, парN])

{ код}

имя_0бъекта=пеw имя_конструктора ([ "пар1",...[, "парN" ])

Существует два способа для описания собственных методов:

  1. описание метода включается в описание класса;

  2. с использованием свойства prototype, которое позволяет добавлять новые методы к существующему классу.

имяКласса.prototype.имяМетода = function(список параметров метода)

В данной разработаны 2 страницы html. Различаются они только в способах описания методов. В одной описание метода включается в описание класса, а в другой используется свойство prototype, которое позволяет добавлять новые методы к существующему классу.

Итак, на странице, где описание метода включается в описание класса, используется следующая запись для создания пользовательского объекта carSpares:

function carSpares(num,marka,model,gearbox,wheel,carbody)

{

this.num=num;

this.marka=marka;

this.model=model; свойства

this.gearbox=gearbox;

this.wheel=wheel;

this.carbody=carbody;

this.printCaption=printCaption;

this.printTableHead=printTableHead; методы

this.printSpares=printSpares;

}

Здесь внутри класса описаны 3 метода: printCaption – выводит название таблицы, printTableHead – печатает шапку таблицы, printSpares – выводит строки таблицы.

Неудобность данного способа заключается в том, что при печати всех строк, печатающих строки функций должно быть столько, сколько было создано объектов на основе класса carSpares. В моём случае это количество равно 12. Но если будет необходимость в гораздо большем объёме информации в таблице, данный способ уже будет не очень удобен. Размер кода программы из-за этого может вырасти в несколько раз.

Для того, чтобы избежать данную проблему, можно воспользоваться вторым способом для описания собственных методов: с использованием свойства prototype, которое позволяет добавлять новые методы к существующему классу, и создания массива записей, что и было сделано на второй странице html в моей работе.

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

Определим класс автозапчастей allSpares и добавим его в блок сценария вместе с классом carSpares, где будут находиться только свойства.

function allSpares()

{

this.cars = new Array;

}

Далее все необходимые методы будем добавлять с помощью свойства prototype.

Например, метод add_spares для занесения одной записи в массив записей выглядит так:

allSpares.prototype.add_spares=function(num,marka,model,gearbox,wheel,carbody)

{

this.cars[num]= new carSpares(num,marka,model,gearbox,wheel,carbody);

}

Так же был реализован и метод для доступа к элементам массива get_allSpares.

Преимущество данного способа состоит в том, что для печати всей таблицы нужна только одна строка, независимо от кол-ва записей в массиве записей:

document.write(spares1.get_allSpares()); где spares1 – объект, созданный на базе класса allSpares.

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