Я знаю, что есть много подобных вопросов - это тонны отличных ответов на это. Я пытался взглянуть на классические методы наследования или методы закрытия и т. Д. Почему-то я считаю, что они являются более или менее «взломанными» методами для меня, поскольку в действительности это не то, для чего предназначен javascript. (Добро пожаловать, кто-нибудь поправит меня, если я ошибаюсь).
Хорошо, пока это работает, я удовлетворяюсь классическим шаблоном наследования, таким как:
PARENTClass = function (basevar) { do something here; };
PARENTClass.prototype = { a: b, c: d}; // prototype is auto gen
// Inheritance goes here
CHILDClass = function (childvar) { do something; };
CHILDClass.prototype = new PARENTClass(*1); // Actual inheritance to the prototype statement
// Instance
CHILDInstance = new CHILDClass(whatever);
Выше, как я понимаю, наследование JS. Но один сценарий, который я понятия не имею, как реализовать, заключается в том, что если я захочу выполнить инициализацию создания объекта DURING (то есть внутри конструктора), и новый объект можно будет использовать сразу же ... Моя иллюстрация проблемы может не быть слишком ясным, поэтому позвольте мне использовать следующий C # Psuedo, чтобы объяснить, что я хочу сделать:
class PARENT {
public PARENT (basevar) { ... }
}
class CHILD : PARENT {
public CHILD (basevar) : PARENT (basevar) // constructor of child, and call parent constructor during construct.
{ ... }
}
По какой-то причине (например, элементы init. UI), размещение их в конструкторе кажется наилучшим способом. У любого есть идея, как мне это сделать.
PS: в * 1 я понятия не имею, что мне там поставить.
PS2: вышеописанная ситуация, которую я ДЕЙСТВИТЕЛЬНО обнаружил, что библиотека jquery.inherit может сделать, мне просто интересно, может ли это сделать не с помощью библиотеки.
PS3: Или мое понимание неверно. Поскольку javascript не предназначен для имитации ООП (именно поэтому я называю это хаком), что такое «ПРАВИЛЬНАЯ» логика для реализации этого.