Javascript и ООП
Javascript, помимо стандартных возможностей, предоставляет массу способов использовать объектно-ориентированное программирование |
- Оператор new
- Литеральная нотация
- Конструкторы объектов
- Прототипы
- Ассоциативные массивы
Используем оператор new
Это, наверное, самый легкий способ создания объекта. Вы просто создаете имя объекта и приравниваете его к новому объекту Javascript.//Создаем наш объект var MyObject = new Object(); //Переменные MyObject.id = 5; //Числовая переменная MyObject.name = "Sample"; //Строковая переменная //Функции MyObject.getName = function() { return this.name; }Минус данного способа заключается в том, что вы можете работать только с одним вновь созданным объектом.
//Используем наш объект alert(MyObject.getName());
Литеральная нотация
Литеральная нотация является несколько непривычным способом определения новых объектов, но достаточно легким для понимания. Литеральная нотация работает в версии Javascript 1.2 и выше.//Создаем наш объект с использованием литеральной нотации MyObject = { id : 1, name : "Sample", boolval : true, getName : function() { return this.name; } }Как видите, это довольно просто.
Объект = { имя_переменной : содержание переменной, ... }Использовать это легко.
alert(MyObject.getName);
Конструкторы объектов
Конструкторы объектов - это мощное средство для создания объектов, которые можно использовать множество раз. Конструктор объекта - это, по сути, обычная функция Javascript, которой так же можно передавать различные параметры.function MyObject(id, name) { }Если проводить параллели с ООП, то это - функция-конструтор. С помощью неё мы и будем создавать наш объект.
var MyFirstObjectInstance = new MyObject(5,"Sample"); var MySecondObjectInstace = new MyObject(12,"Othe Sample");Таким образом мы создали различные экземпляры объекта. Теперь мы можем работать отдельно с каждым экземпляром объекта MyObject, не боясь того, что, изменяя свойства одного экземпляра, мы затронем свойства другого экземпляра.
Как и в ООП, у MyObject могут быть методы и различные свойства. Свойствам можно присвоить значения по умолчанию, либо значения, переданные пользователем в конструкторе объекта.
function MyObject(id, name) { //Значения переданные пользователем this._id = id; this._name = name; //Значение по умолчанию this.defaultvalue = "MyDefaultValue"; }Аналогичным образом мы можем создавать и функции.
function MyObject(id,name) { this._id = id; this._name = name; this.defaultvalue = "MyDefaultValue"; //Получение текущего значения this.getDefaultValue = function() { return this.defaultvalue; } //Установка нового значения this.setDefaultValue = function(newvalue) { this.defaultvalue = newvalue; } //Произвольная функция this.sum = function(a, b) { return (a+b); } }Я считаю, что это один из самых мощнейших механизмов Javascript.
Ассоциативные массивы
Помимо стандартных методов, существуют и достаточно экзотические, такие как создание ассоциативных массивов. Это будет полезно для упорядочивания большого числа однотипных объектов.var MyObject = new Array(); MyObject["id"] = 5; MyObject["name"] = "SampleName";Итак, мы рассмотрели способы создания объектов с помощью Javascript. Каждый имеет свои достоинства и недостатки, но какой именно способ выбрать для работы - решать вам.
« Назад