当没有传入所有参数时,如何调用 parent 方法?

How can I call parent method when not all parameters are passed in?

我有一个 ColdFusion parent 组件,其功能如下所示:

public numeric function myFunction(var1, var2, var3, var4, var5){
    ... function code ...
} 

然后我有一个 child 组件扩展了这个组件并具有以下功能:

public numeric function myFunction(var1, var2, var3){
    super.myFunction(var1, var2, var3, variables.var4, variables.var5);
} 

其中 variables.var4variables.var5 是 child 的属性。

问题是 var1、var2 和 var3 是可选的。如果其中任何一个未传入,我在 super.myFunction 调用中收到错误消息:

Variable VAR2 is undefined

如何使用实际传入的参数和 2 个 child 属性调用 parent 方法? (没有意大利面条件编码)

以下代码有效:

public numeric function myFunction(var1, var2, var3){
    arguments.var4 = variables.var4;
    arguments.var5 = variables.var5;
    return super.myFunction(argumentCollection=arguments);
} 

但是,这感觉有点老套。这是一个可以接受的解决方案吗?有没有更好的解决方案?

public numeric function myFunction(var1, var2, var3){
    return super.myFunction(var4=variables.var4, var5=variables.var5, 
                            argumentCollection=arguments);
}