Inheritance 在coldfusion中重写函数

Inheritance 在coldfusion中重写函数,inheritance,coldfusion,lucee,Inheritance,Coldfusion,Lucee,我在两个CFCs中有一个名为OnSubmit的函数 一个是BASE.cfc,另一个是PageUsed.cfc。函数在base.cfc和pageused.cfc,b中不同,但名称和参数相同。 还有第三个名为UserObject.CFC的CFC,通过将方法名作为Basic传递来调用,该方法返回PageUsed.CFC对象,方法称为OnSubmit 基本上,它应该调用pageUsed中的Onsubmit函数,但它正在调用Base.cfcOnsubmit函数 出什么事了 有什么想法吗 我是否需要使用SU

我在两个
CFCs
中有一个名为
OnSubmit
的函数

一个是BASE.cfc,另一个是
PageUsed.cfc
。函数在
base.cfc
pageused.cfc
,b中不同,但名称和参数相同。

还有第三个名为UserObject.CFC的CFC,通过将方法名作为Basic传递来调用,该方法返回
PageUsed.CFC
对象,方法称为
OnSubmit

基本上,它应该调用
pageUsed
中的
Onsubmit
函数,但它正在调用
Base.cfc
Onsubmit
函数

出什么事了

有什么想法吗


我是否需要使用SUPER,但SUPER用于其他用途,因为我读到组件通常扩展其他组件,您可以在组件声明中明确地这样做

<component extends="some.other.component">
调用像
pageUsed.onSubmit()
这样的onSubmit()将运行该函数。如果您想在base中运行onSubmit,可以将以下内容添加到pageused中

function onSubmit() {
    super.onSubmit(); //Calling onSubmit in base.cfc
}
你的问题让人困惑的是这一部分:

有第三个名为UserObject.CFC的CFC是通过传递 方法名为Basic,返回PageUsed.cfc对象,方法名为OnSubmit


我知道有一个userObject.cfc,但是你能分享它所在位置的代码吗?因为它看起来可能不是你想象的那样工作。尤其令人困惑的是,您正在传递一个名称“basic”,但返回“pageUsed”。为什么不返回basic?

是否扩展
base.cfc
?您确定函数
basic()
正在返回
PageUserd.cfc
?您可以对返回的对象执行
getMetaData()
以验证吗?getMetaData在哪个cfc上,userobject.cfc设置一些变量以等于函数
userobject.basic()
的结果。该函数返回的对象包含预期的
onSubmit()
函数。您需要验证函数是否返回了正确的对象,但似乎不是。请编辑您的问题,并添加UserObject.cfc中调用OnSubmit函数的代码。我想我的问题没有被理解,我知道继承,extendsI正在尝试创建一个comman函数来启动结构中的其他外部组件调用。如果它们存在于作用域中,请不要再次调用它们,
function onSubmit() {
    super.onSubmit(); //Calling onSubmit in base.cfc
}