Inheritance 是否可以通过扩展组件查看特定于函数的变量?
在Adobe Flex中,可以声明公共函数,该函数可以在扩展该函数类的类中重写:Inheritance 是否可以通过扩展组件查看特定于函数的变量?,inheritance,coldfusion,components,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
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 + "!");
}
}
查看扩展类如何访问该公共var
我想知道这样的事情在ColdFusion中是否可能发生。我知道特定于组件的变量存储在“this”和“variables”范围中,“var”范围对于声明它的方法是私有的,但是,在这两者之间有什么东西吗
p、 对不起,这上面的标签太模糊了……我知道你想做什么,但答案是否定的,只是在ColdFusion中不可能做到这一点。这不是CF中继承的工作方式 但是,您确实有权运行父类版本的函数;您可以使用组件全局范围,比如变量(或用户的会话范围等)
我设置的标签对问题更有意义。谢谢。今天我的脑子转得很慢…所以,这个变量转储显示父类的变量范围??是和否。super.foo()将在子对象的上下文中运行,因此当它设置Variables.foo时,它将在同一请求中稍后在该上下文(子对象的上下文)中可用。
<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>