Клиентский JavaScript 1.3 Руководство

Сравнение объектных


Таблица 8.1 Сравнение объектных систем языков на базе классов (Java)
и языков на базе прототипов (JavaScript)

На базе классов (Java)

На базе прототипов (JavaScript)

Класс и экземпляр это разные сущности.Все объекты являются экземплярами.
Класс определяется в определении класса; инстанциация (создание экземпляров) производится методами-конструкторами.Набор объектов создаётся и определяется функциями-конструкторами.
Одиночный объект создаётся операцией new.То же самое.
Иерархия объектов создаётся через использование определения класса для определения подклассов существующих классов.Иерархия объектов создаётся путём присвоения объекта как прототипа, ассоциированного с функцией-конструктором.
Свойства наследуются по цепочке классов.Свойства наследуются по цепочке прототипов.
Определение класса специфицирует все свойства всех экземпляров данного класса. Свойства нельзя добавлять динамически на этапе прогона.Функция-конструктор или прототип специфицируют начальный набор свойств. Свойства могут добавляться динамически отдельному объекту или целому набору объектов.



Содержание раздела