【发布时间】:2013-12-11 06:25:52
【问题描述】:
为什么标记的行找不到protectedACMember?
var Module = (function (ns) {
function AbstractClass() {
this.protectedACMember = "abstract";
this.abstractPublicACMethod = function (input) {
this.methodToImplement();
}
}
ConcreteClass.prototype = new AbstractClass();
function ConcreteClass(){
var privateCCMember = "private CC";
var privateCCMethod = function(){
alert(this.protectedACMember); // cant find protectedACMember
}
this.methodToImplement = function(){
privateCCMethod();
console.log('Implemented method ');
}
}
ns.ConcreteClass = ConcreteClass;
return ns;
})(Module || {});
//somewhere later
var cc = new Module.ConcreteClass();
cc.abstractPublicACMethod();
有模拟私有、受保护和公共成员的好模式吗?静态/非静态也是?
【问题讨论】:
-
非常好的当前关于 js 设计模式的书:addyosmani.com/resources/essentialjsdesignpatterns/book
标签: javascript module-pattern template-method-pattern