Web-Masteru.info

Javascript и ООП.



      

Каталог статей / Java script / Javascript и ООП.

Javascript, помимо стандартных возможностей, предоставляет массу способов использовать объектно-ориентированное программирование. В Javascript вы можете создавать объекты или псевдообъекты. Для этого существуют следующие способы:

  • Оператор new
  • Литеральная нотация
  • Конструкторы объектов
  • Прототипы
  • Ассоциативные массивы

Прототипы были описаны в предыдущей статье:

JavaScript: Использование прототипов

Используем оператор 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. Каждый имеет свои достоинства и недостатки, но какой именно способ выбрать для работы - решать вам.

 


© источник: http://web-zine.org дата публикации: 2009-08-22 изменено: 2009-08-23
При использовании материалов статьи ссылка на сайт-источник обязательна!
      
Навигация


Авторизация
Логин:
Пароль:
Забыли пароль



Copyright © Web-Masteru.info 2008 - 2009
Powered by Beramb CMS