у меня есть «класс» Javascript определяется следующим образом:Могу ли я «расширить» класс, определенный закрытием, в Javascript?
var Welcomer = function(name) {
var pName = name;
var pMessage = function() {
return "Hi, " + pName + "!";
};
return {
sayHi: function() {
alert(pMessage());
}
};
};
new Welcomer('Sue').sayHi();
Есть ли способ «подкласс» Welcomer
таким образом, что я могу переопределить открытые методы и иметь доступ к частным методам и переменным? Следующий даст мне доступ к публичным методам, но не в частных:
var UnhappyWelcomer = function(name) {
var pSadMessage = function() {
// won't work, b/c I don't have access to pMessage
return pMessage() + " Miserable day, innit?";
};
return {
sayHi: function() {
alert(pSadMessage());
}
};
};
UnhappyWelcomer.prototype = Welcomer(); // failed attempt at inheritance
new UnhappyWelcomer().sayHi();
Возможно, вы захотите прочитать [эту статью] (http://mckoss.com/jscript/object.htm). –
Закладка этой статьи. Thx –