Цикл статей «Учебник Javascript».
Следующая статья — «Методы toString и valueOf в Javascript».
Предыдущая статья — «Строки в Javascript».
Самый простой способ объявить объект в Javascript:
1 2 3 4 5 |
// Объявляем объект. var obj1 = {}; // То же самое: var obj2 = new Object(); |
В Javascript есть также наследование объектов. Но тогда объявлять объекты нужно немного иначе:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
// Конструктор родительского объекта function MyParentObject() { // Свойства класса this.field1 = 300.0; this.field2 = "Vasya"; } // Добавляем метод в объект: MyParentObject.prototype.alert1 =function (){ alert("alert1: " + this.field1); }; // Статические переменные. Общие для всех экземпляров класса. // Как правило подобным образом объявляют константы. // Не смотря на то, что их можно изменить. MyParentObject.prototype.VAR1 = 4; var obj1 = new MyParentObject(); obj1.alert1(); alert(MyParentObject.prototype.VAR1); |
Теперь объявим класс наследник от нашего класса MyParentObject. Для этого нужно в prototype класса прописать родительский класс:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
// Конструктор потомка function MyChildObject () { // Вызываем конструктор базового класса. MyParentObject.apply(this); // можно передавать аргументы вторым и т.д. параметрами. } // Наследование MyChildObject.prototype = Object.create(MyParentObject.prototype); MyChildObject.prototype.constructor = MyChildObject; // Здесь можно добавлять новые методы в MyChildObject // Или переопределять уже существующие. var obj1 = new MyChildObject(); obj1.alert1(); alert(MyParentObject.prototype.VAR1); |
Множественного наследования в Javascript нет. Также нет и интерфейсов. Хотя, конечно, прототипное наследование, которое принято в Javascript довольно гибкое и позволяет сделать имитацию многих вещей…
Цикл статей «Учебник Javascript».
Следующая статья — «Методы toString и valueOf в Javascript».
Предыдущая статья — «Строки в Javascript».