当CFC相互扩展时,为什么函数只在一个方向上继承?

Moh*_*mad 0 coldfusion inheritance cfc coldfusion-9

我有以下两种CFC:

component extends="Controller" displayName="foo" {
    public void function minifoo() {
    }
}

component extends="Foo" displayName="bar" {
    public void function minibar() {
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道Foo.cfc中的任何函数都可供Bar.cfc使用.但似乎反过来并非如此.我可以在Bar.cfc中使用Foo.cfc中的函数吗?或者继承只能以一种方式工作?

Ste*_*tti 5

正如名称所暗示的那样,继承仅在一个方向上起作用.父亲继承儿子有点困难.;)

你有一些常见的功能,你想要广泛使用,你可能需要看看某种形式的帮助或依赖注入.

如果它不常见但特定于父母和子CFC,那么您可能需要查看您的应用程序结构,这两个CFC之间的关系以及功能实际存在的位置.