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


              

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


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

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