javascript中的模板方法
我想在javascript中实现模板方法模式。
我有一个带有一些子类的PropertyDecorator:OpenButtonDecorator,SeeButtonDecorator等等。我想在Property decorator中有下一个函数:
var build = function(){
decorate(); //Abstract in PropertyDecorator, defined in subclasses
return le.build();
}
我怎样才能使这个场景有效?也许我实现了错误的继承:S(也帮助:))
先感谢您。
没有找到相关结果
已邀请:
1 个回复
靛新比比催
方法调度以这种方式发生: 实例是否调用了该方法? 否 - >委托父母(它的原型)并重复。 是 - >在隐式对象(在开头接收调用的对象)的上下文中执行方法体。 因此,在调用新的SeeButtonDecorator()。build()时,首先,它将尝试在实例上执行构建方法。因为它没有在实例中定义,所以方法调用将被委托给实例父实例,在本例中,SeeButtonDecorator原型,这个实例不具有该方法,因此它将委托调用它的父代(PropertyDecorator)。 PropertyDecorator,有
方法。
执行时,将在新的SeeButtonDecorator()的上下文中评估
方法的主体。实例本身不会有
方法,因为它在SeeButtonDecorator()函数(其原型)中定义。好吧,这次调用将被委托给实例原型,最后会得到一个decorate()方法:
该方法将再次在实例的上下文中执行,并将返回字符串,返回调用堆栈直到返回