Если я правильно понял твой вопрос, то так.
function Animal() {
...
...
this.life = new Life();
};
/**
* Объект жизни
*
* @type {Life}
*/
Animal.prototype.life = null;
/**
* Убить животное
*/
Animal.prototype.die = function () {
...
};
Т.е. в прототип я просто декларирую сам факт существования свойства, а не его значение (если конечно таковое не требуется). Такой подход имхо удобен для чтения, а также дополнительный профит, что нормальная ИДЕ лучше автокомплитит по коду. 2) Какую статью? Я просто пробывал писать игрульки в своё время, 2-мерные, аля марио и т.д. и у меня как раз тормоза были на массивах препятствий и монстриков, после того как перешёл на типизированные, то всё исправилось, но на статью ссылку дай :) |
|
Цитата:
|
а наследование ты делаешь так?
/* Животинка
----------------------------------------------------*/
function Animal() {
this.childerns = [];
this.isWalk = null;
}
Animal.prototype.go = function () {
alert('i going!')
};
/* Кошечка
----------------------------------------------------*/
function Cat() {
this.position = new Position;
this.age = null;
this.name = null;
}
/*наследует от животинки*/
Cat.prototype = new Animal();
Cat.prototype.constructor = Cat;
Cat.prototype.sayMew = function () {
alert('mew')
};
|
Да
|
а сделай тройное наследование? с расширением к родительских методов.
|
Без проблем, но напишу завтра) уехал из дома, а с телефона не удобно
|
ну я бы сделал его так
/* Боженька
----------------------------------------------------*/
function God() {
this.go = function () {
alert('i GOD');
}
}
/* Животинка
----------------------------------------------------*/
function Animal() {
this.childerns = [];
this.isWalk = null;
this.go = function () {
Animal.prototype.go.call(this);
alert('i going! cuz i animal')
};
}
/*наследует от боженьки*/
Animal.prototype = new God;
/* Кошечка
----------------------------------------------------*/
function Cat() {
this.position = new Array();
this.age = null;
this.name = null;
this.sayMew = function () {
alert('mew')
};
this.go = function () {
Cat.prototype.go.call(this);
alert('and JUMP!! cuz i CAT')
};
}
/*наследует от животинки*/
Cat.prototype = new Animal();
new Cat().go();
|
Ну да, только я бы декларировал методы в прототип ну и создал бы у дочернего объекта ссылку на родительский, чтобы удобней делать расширение родительского метода.
ЗЫ: я стал дядей, грац меня :) |
твой брат родил или сестра)?
|
| Часовой пояс GMT +3, время: 22:16. |