2009-07-12 2 views
1

, поэтому я наконец понял прототип и как его использовать. Я уверен, что я все еще пытаюсь решить эту проблему как проблему наследования Java, поэтому, если есть более прототипный способ, расскажите мне об этом.прототипное наследование (javascript)

Если B наследует A, я хочу, чтобы конструктор B сначала выполнил конструктор A. Это важно для настройки локальных переменных B. Сначала я думал, что делать что-то вроде

function B() 
{ 
    B.prototype.constructor(); 
} 
B.prototype = new A(); 

Это, конечно, не работает должным образом, как это, по сути то же самое, как говорят

function B() 
{ 
    new A(); 
} 

Есть ли способ, чтобы действительно расширить конструктор в Java, как ? Есть ли лучший способ сделать это?

{EDIT} Я понял, что проблема в том, что я пытался получить доступ к закрытым переменным. Я предполагаю, что частные переменные не передаются из прототипа?

ответ

2

При копировании объект в прототипе Б вы вызываете конструктор по:

B.prototype = new A(); 

Для выполнения настройки локальных переменных а через аргументы конструктора, то вы можете сделать это:

B.prototype = new A(arguments, here); 

Не уверен, что если это отвечает на ваш вопрос.

-3

Вы можете использовать любую инфраструктуру Ajax, которая поддерживает эмуляцию классов, отлично обрабатывают классы и наследование в javascript. Также посмотрите на JS.Class.

+1

Не уверен, что «любая инфраструктура Ajax». jQuery не добавляет классы в JavaScript. – Nosredna

+0

Хорошо, что нужно знать. Я никогда не использовал jQuery. –

Смежные вопросы