русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Объектно_ориентированный язык JavaScript


Дата добавления: 2015-07-09; просмотров: 629; Нарушение авторских прав


 

Хотя JavaScript поддерживает тип данных, который мы называем объектом, в нем нет формального понятия класса. Это в значительной степени отличает его от классических объектно_ориентированных языков программирования, таких как C++ и Java. Общая черта объектно_ориентированных языков – это их стро_ гая типизация и поддержка механизма наследования на базе классов. По этому критерию JavaScript легко исключить из числа истинно объектно_ориентиро_ ванных языков. С другой стороны, мы видели, что JavaScript активно использу_ ет объекты и имеет особый тип наследования на базе прототипов. JavaScript – это истинно объектно_ориентированный язык. Он был реализован под влиянием некоторых других (относительно малоизвестных) объектно_ориентированных языков, в которых вместо наследования на основе классов реализовано наследо_ вание на базе прототипов.

 

Несмотря на то что JavaScript – это объектно_ориентированный язык, не бази_ рующийся на классах, он неплохо имитирует возможности языков на базе клас_ сов, таких как Java и C++. Я употребил термин «класс» в этой главе неформаль_ но. В данном разделе проводятся более формальные параллели между JavaScript и истинным наследованием на базе классов в таких языках, как Java и C++.1

 

Начнем с того, что определим некоторые базовые термины. Объект, как мы уже видели, – это структура данных, которая содержит различные фрагменты име_ нованных данных, а также может содержать методы для работы с этими фраг_ ментами данных. Объект группирует связанные значения и методы в единый удобный набор, который, как правило, облегчает процесс программирования, увеличивая степень модульности и возможности для многократного использова_ ния кода. Объекты в JavaScript могут иметь произвольное число свойств, и свой_ ства могут добавляться в объект динамически. В строго типизированных язы_ ках, таких как Java и C++, это не так. В них любой объект имеет предопределен_ ный набор свойств2, а каждое свойство имеет предопределенный тип. Имитируя объектно_ориентированные приемы программирования при помощи JavaScript_



1 Этот раздел рекомендуется прочитать даже тем, кто незнаком с этими языками и упомянутым стилем объектно_ориентированного программирования.

 

2 Обычно в Java и C++ они называются «полями», но здесь мы будем называть их свойствами, поскольку такая терминология принята в JavaScript.


 

9.3. Объектно*ориентированный язык JavaScript
   

 

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

 

В Java и C++ класс определяет структуру объекта. Класс точно задает поля, ко_ торые содержатся в объекте, и типы данных этих полей. Он также определяет методы для работы с объектом. В JavaScript нет формального понятия класса, но, как мы видели, в этом языке приближение к возможностям классов реализу_ ется с помощью конструкторов и объектов_прототипов.

 

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

 

В Java обычная практика программирования заключается в присвоении клас_ сам имен с первой прописной буквой, а объектам – со всеми строчными. Это со_ глашение помогает отличать классы и объекты в исходных текстах. Этому же соглашению желательно следовать и при написании программ на языке Java_ Script. Например, в предыдущих разделах мы определили класс Rectangle и соз_ давали экземпляры этого класса с именами, такими как rect.

 

Члены Java_класса могут принадлежать одному из четырех основных типов: свойства экземпляра, методы экземпляра, свойства класса и методы класса. В сле_ дующих разделах мы рассмотрим различия между этими типами и поговорим о том, как JavaScript имитирует эти типы.

 



<== предыдущая лекция | следующая лекция ==>
Расширение встроенных типов | Методы экземпляра


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.033 сек.