Если я правильно понял твой вопрос, то так.
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, время: 03:27. |