Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.01.2013, 15:44
Аватар для 9xakep
сегодня в 12:34|Комментир
Отправить личное сообщение для 9xakep Посмотреть профиль Найти все сообщения от 9xakep
 
Регистрация: 12.04.2011
Сообщений: 1,180

ООП вопрос, счетчик детей
В общем такая задача (я ее сделал, но с другом думаем, как лучше)

У меня есть башня, которая стреляет, каждый новый снаряд - это новый ребенок конструктора 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())


Я понимаю, что мой не красивый, но какая разница, что так я создаю объект, что так
__________________
оляля, ололо
Ответить с цитированием
  #2 (permalink)  
Старый 01.01.2013, 16:30
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

9xakep,
может сделать подобие твоего варианта, только не в прототип мешать (кстати у любого экземпляра можно будет помотреть кол-во родившихся снарядов), а использовать св-о класса, прямо как у класса Date?
Ответить с цитированием
  #3 (permalink)  
Старый 01.01.2013, 16:39
Аватар для 9xakep
сегодня в 12:34|Комментир
Отправить личное сообщение для 9xakep Посмотреть профиль Найти все сообщения от 9xakep
 
Регистрация: 12.04.2011
Сообщений: 1,180

Сообщение от Dim@
(кстати у любого экземпляра можно будет помотреть кол-во родившихся снарядов)
только если через __proto__

Сообщение от Dim@
а использовать св-о класса, прямо как у класса Date?
Какого еще класса? О_о
И что там используется, как у меня?
__________________
оляля, ололо
Ответить с цитированием
  #4 (permalink)  
Старый 01.01.2013, 16:52
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

Сообщение от 9xakep
Сообщение от Dim@
а использовать св-о класса, прямо как у класса Date?
Какого еще класса? О_о
Я думаю это
function A() {
A.chet += 1 ; 
} ;
A.chet = 0 ;
new A() ;
new A() ;
alert(A.chet)
__________________
★ ²º¹³ ☆
Ответить с цитированием
  #5 (permalink)  
Старый 01.01.2013, 17:11
Аватар для 9xakep
сегодня в 12:34|Комментир
Отправить личное сообщение для 9xakep Посмотреть профиль Найти все сообщения от 9xakep
 
Регистрация: 12.04.2011
Сообщений: 1,180

Hekumok,
А ясно ,спасибо
Дима при чем тут класс? В js объекты так то
__________________
оляля, ололо
Ответить с цитированием
  #6 (permalink)  
Старый 01.01.2013, 18:47
Профессор
Посмотреть профиль Найти все сообщения от godofjavascript
 
Регистрация: 11.12.2012
Сообщений: 265

Сообщение от 9xakep
только если через __proto__
нубик ты наш, получить прототип можно примерно так

var q = new Cat;

q.constructor.prototype === __proto__
Ответить с цитированием
  #7 (permalink)  
Старый 01.01.2013, 19:01
Аватар для 9xakep
сегодня в 12:34|Комментир
Отправить личное сообщение для 9xakep Посмотреть профиль Найти все сообщения от 9xakep
 
Регистрация: 12.04.2011
Сообщений: 1,180

godofjavascript,
Я и так знаю, что обращениек прототипу конструктора есть __proto__
__________________
оляля, ололо
Ответить с цитированием
  #8 (permalink)  
Старый 01.01.2013, 23:29
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

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-а такие св-а называются статическими св-ми класса (мы же используем классы)
Ответить с цитированием
  #9 (permalink)  
Старый 02.01.2013, 01:21
Аватар для 9xakep
сегодня в 12:34|Комментир
Отправить личное сообщение для 9xakep Посмотреть профиль Найти все сообщения от 9xakep
 
Регистрация: 12.04.2011
Сообщений: 1,180

function A() {
A.prototype.chet += 1
}
A.prototype.chet=0;
var b = new A();
alert(b.__proto__.chet)
__________________
оляля, ололо
Ответить с цитированием
  #10 (permalink)  
Старый 02.01.2013, 13:46
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

9xakep,
Сообщение от 9xakep
только если через __proto__
я показал что можно без прото
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
небольшой вопрос по ООП cyber Events/DOM/Window 11 09.08.2013 14:50
Вопрос по методу в ООП devenge Events/DOM/Window 8 21.07.2012 16:09
Вопрос по ООП uaNikita Общие вопросы Javascript 4 29.04.2012 19:50
ООП PHP вопрос mycoding Серверные языки и технологии 9 03.06.2010 02:57
Вопрос про ООП, цепочки прототипов. Shaci Общие вопросы Javascript 5 27.01.2010 14:50