Базовий Class фреймворку MooTools.
var MyClass = new Class(properties);
Методи this Class, які мають ту саму назву, що й Extends Class, матимуть властивість parent, яка дозволяє викликати інший перевизначений метод. Властивість Extends повинна бути першою властивістю у визначенні class.
Implements схоже на Extends, за винятком того, що воно приймає властивості з одного або кількох інших classes без наслідування. Корисно при реалізації набору властивостей за замовчуванням у кількох Classes. Властивість Implements повинна йти після Extends, але передforми всіма іншими властивостями.
var Cat = new Class({ initialize: function(name){ this.name = name; } }); var myCat = new Cat('Micia'); alert(myCat.name); // alerts 'Micia' var Cow = new Class({ initialize: function(){ alert('moooo'); } });
var Animal = new Class({ initialize: function(age){ this.age = age; } }); var Cat = new Class({ Extends: Animal, initialize: function(name, age){ this.parent(age); // calls initalize method of Animal class this.name = name; } }); var myCat = new Cat('Micia', 20); alert(myCat.name); // alerts 'Micia'. alert(myCat.age); // alerts 20.
var Animal = new Class({ initialize: function(age){ this.age = age; } }); var Cat = new Class({ Implements: Animal, setName: function(name){ this.name = name } }); var myAnimal = new Cat(20); myAnimal.setName('Micia'); alert(myAnimal.name); // alerts 'Micia'.
Implements передані властивості у базові прототипи Class, змінюючи базовий Class. Те саме, що й створення new Class з властивістю Implements, але зручно, коли потрібно modify існуючі classes.
MyClass.implement(properties);
var Animal = new Class({ initialize: function(age){ this.age = age; } }); Animal.implement({ setName: function(name){ this.name = name; } }); var myAnimal = new Animal(20); myAnimal.setName('Micia'); alert(myAnimal.name); // alerts 'Micia'
| © Linux.ria.com, 2008-2026 |