是否可以通过扩展组件来查看特定于功能的变量?

时间:2010-06-18 17:09:37

标签: inheritance coldfusion components

在Adobe Flex中,可以声明一个公共函数,该函数可以在扩展该函数类的类中重写:

public class class1 {
    public function method1 {
        public var var1:string = "hello world";
    }
}

public class class2 extends class1 {
    override public function method1 {
        alert.show(super.var1 + "!");
    }
}

了解扩展类如何访问public var?

我想知道ColdFusion中是否有可能这样的事情。我知道特定于组件的变量存储在“this”和“Variables”范围中,而“var”范围对于声明它的方法是私有的,但是,介于两者之间的是什么?

P.S。对于有史以来最模糊的标签感到抱歉....

1 个答案:

答案 0 :(得分:3)

我看到你正在尝试做什么,但答案是否定的,在ColdFusion中做到这一点是不可能的。这不是继承在CF中的运作方式。

但是,您可以访问运行父类的函数版本;并且您可以使用组件全局范围,如变量(或用户的会话范围等)

<cfcomponent displayName="parent">
    <cffunction name="foo">
        <cfset variables.foo = 1 />
    </cffunction>
</cfcomponent>

<cfcomponent displayName="child" extends="parent">
    <cffunction name="foo">
        <cfset super.foo() />
        <cfdump var="#variables#" />
    </cffunction>
</cfcomponent>