Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex Flex中的mxml继承。“如何运作”;instanceof";及;“是”吗;?_Apache Flex_Inheritance_Subclass_Instanceof - Fatal编程技术网

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扩展了画布吗?是的!!谢谢你的考虑!