Inheritance 为什么当CFC相互扩展时,函数只能在一个方向继承?
我有以下两种氟氯化碳:Inheritance 为什么当CFC相互扩展时,函数只能在一个方向继承?,inheritance,coldfusion,coldfusion-9,cfc,Inheritance,Coldfusion,Coldfusion 9,Cfc,我有以下两种氟氯化碳: component extends="Controller" displayName="foo" { public void function minifoo() { } } component extends="Foo" displayName="bar" { public void function minibar() { } } 我知道Foo.cfc中的任何功能都将提供给Bar.cfc。但情况似乎并非如此。我可以将Bar.cfc中
component extends="Controller" displayName="foo" {
public void function minifoo() {
}
}
component extends="Foo" displayName="bar" {
public void function minibar() {
}
}
我知道Foo.cfc中的任何功能都将提供给Bar.cfc。但情况似乎并非如此。我可以将Bar.cfc中的函数也提供给Foo.cfc吗?或者继承只以一种方式工作吗?不,继承不以那种方式工作 尝试依赖性注射,基本上
f = new Foo();
b = new Bar();
f.setBar(b);
b.setFoo(f);
如果需要,像ColdSpring、Lightwire或Wirebox这样的框架可以帮助您实现这一点
然后他们可以互相交谈,但如果这真的是你想要的,你应该好好想想。也许您希望以不同的方式设计它们。继承只在名称所暗示的一个方向上起作用。 父亲继承儿子有点困难 如果您有一些想要广泛使用的常用函数,那么您可能需要查看某种形式的助手或依赖注入 如果它不是常见的,但特定于父CFC和子CFC,那么您可能需要查看您的应用程序结构、这两个CFC之间的关系以及功能实际存在的位置