我有一个ColdFusion父组件,其功能类似于:
public numeric function myFunction(var1, var2, var3, var4, var5){
... function code ...
}
然后我有一个扩展这个组件的子组件,它具有以下功能:
public numeric function myFunction(var1, var2, var3){
super.myFunction(var1, var2, var3, variables.var4, variables.var5);
}
其中variables.var4
和variables.var5
是孩子的属性。
问题是var1,var2和var3是可选的。如果其中任何一个未被传入,我在super.myFunction
电话上收到错误:
Variable VAR2 is undefined
如何使用两个子属性中实际传递的参数调用父方法? (没有意大利面条件编码)
答案 0 :(得分:4)
public numeric function myFunction(var1, var2, var3){
return super.myFunction(var4=variables.var4, var5=variables.var5,
argumentCollection=arguments);
}
答案 1 :(得分:1)
以下代码有效:
public numeric function myFunction(var1, var2, var3){
arguments.var4 = variables.var4;
arguments.var5 = variables.var5;
return super.myFunction(argumentCollection=arguments);
}
然而,这感觉有点哈哈。这是可接受的解决方案吗?有没有更好的解决方案?