BatMobile Class extend prototype props init function owner this owner

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
BatMobile = Class.extend(
/* prototype props: */ {
init: function(owner) {
this.owner = owner;
this.currenLocation = 'Waynes house',
this.maxSpeed = 300
}
},
/* static props: */ {
getManufacturer: function() {
return 'Made in China';
},
copyright: 'Wayne Inc.'
}
);
BatMoto = BatMobile.extend({
init: function (owner) {
// Вызов родительского конструктора
this.super.init.apply(this, arguments);
this.maxSpeed = 400;
}
});
// Можем применить mixin даже после наследования,
// И этот метод всё равно будет доступен потомку
BatMobile.mixin({
goTo: function(location) {
this.currenLocation = location;
}
});