ООП вопрос, счетчик детей
В общем такая задача (я ее сделал, но с другом думаем, как лучше)
У меня есть башня, которая стреляет, каждый новый снаряд - это новый ребенок конструктора Shoot(); Мой вариант: как посчитать количество детей у родителя
function a() {
a.prototype.chet += 1; // Каждое рождение увеличиваем его
}
a.prototype.chet = 0; // Создаем свойство в прототипе родителя
var b = new a()
var c = new a()
alert(a.prototype.chet) // 2
Его: var bullets = [] bullets.push(new Shoot()) Я понимаю, что мой не красивый, но какая разница, что так я создаю объект, что так |
9xakep,
может сделать подобие твоего варианта, только не в прототип мешать (кстати у любого экземпляра можно будет помотреть кол-во родившихся снарядов), а использовать св-о класса, прямо как у класса Date?:) |
Цитата:
Цитата:
И что там используется, как у меня? |
Цитата:
function A() {
A.chet += 1 ;
} ;
A.chet = 0 ;
new A() ;
new A() ;
alert(A.chet)
|
Hekumok,
А ясно ,спасибо Дима при чем тут класс? В js объекты так то |
Цитата:
var q = new Cat; q.constructor.prototype === __proto__ |
godofjavascript,
Я и так знаю, что обращениек прототипу конструктора есть __proto__ |
9xakep,
через __proto__? да неужто :)
function a() {
a.prototype.chet += 1; // Каждое рождение увеличиваем его
}
a.prototype.chet = 0; // Создаем свойство в прототипе родителя
var b = new a()
var c = new a()
alert(b.chet) // 2
alert(c.chet) // 2
Hekumok правильно выразил мою мысль, в примере Hekumok-а такие св-а называются статическими св-ми класса (мы же используем классы) :) |
function A() {
A.prototype.chet += 1
}
A.prototype.chet=0;
var b = new A();
alert(b.__proto__.chet)
|
9xakep,
Цитата:
|
| Часовой пояс GMT +3, время: 14:13. |