Apache flex Flex中的mxml继承。“如何运作”;instanceof";及;“是”吗;?
之前我使用了以下结构:Apache flex Flex中的mxml继承。“如何运作”;instanceof";及;“是”吗;?,apache-flex,inheritance,subclass,instanceof,Apache Flex,Inheritance,Subclass,Instanceof,之前我使用了以下结构: Canvas -> Screen1 Canvas -> Screen2 当我觉得我的应用程序中需要公共逻辑时,我会执行以下操作: Canvas -> Screen Screen -> Screen1 Screen -> Screen2 所以当我尝试在代码中应用它时 if(child is Screen){ return child.localToGlobal(new Point()).x; } 这是行不通的! 当我在调试器中看到
Canvas -> Screen1
Canvas -> Screen2
当我觉得我的应用程序中需要公共逻辑时,我会执行以下操作:
Canvas -> Screen
Screen -> Screen1
Screen -> Screen2
所以当我尝试在代码中应用它时
if(child is Screen){
return child.localToGlobal(new Point()).x;
}
这是行不通的!
当我在调试器中看到时,child的类型为“Screen2”,但“child是Screen”向我返回false(还有“child instanceof Screen”)。
当我应用编译器键:“-keep generated actionscript”时,我可以看到Screen2-generated.as及其包含的内容
public class Screen3 extends screens.Screen
提前谢谢
对不起,我的英文很难看=)我想问题出在这个特定的名称上——已经有一个名为Screen的类(在flash.display中),Flex会检查它是否是原始Screen的实例 您可以尝试两件事: 1) 将Screen类重命名为CustomScreen,然后重试
2) 通过引用您的类的完整路径检查该子类是否是您的类的实例,例如:
if(child is screens.Screen)
我不理解您的结构。你是说Screen1扩展了画布吗?是的!!谢谢你的考虑!