flash - AS3从父类引用子类的子类而不实例化?

标签 flash actionscript-3 subclass

我可以访问子类的子类的静态变量吗?我不想实例化它,只是想获取变量,因为它已经被子类初始化了。

示例:

package
{
    public class A extends MovieClip {
        private var classB:B = new B();

        public function A() {
            //**ACCESS B.C.MYVAR**
        }
    }
}

package
{
    public class B extends MovieClip {
        private var classC:C = new C();
    }
}

package
{
    public class C extends MovieClip {

        public static var MYVAR = 1;
    }
}

谢谢!

最佳答案

要访问公共(public)静态变量,您可以通过 Class.property 从同一包中的任何位置进行访问。

因此,要访问 C 类中定义的 MYVAR,您可以使用 C.MYVAR。

您不需要创建类的实例来访问其中的静态属性或函数 - 只要它们是公共(public)的即可。

我不建议使用静态,除非在极少数情况下,例如“实用程序”类或类似的东西。内置的 Math 类就是一个很好的例子。

我主要在保存常量的类中使用 static,如下例所示:

package
{
    public class Elements
    {
        public static const FIRE:String = "FIRE_ELEMENT";
        public static const WATER:String = "WATER_ELEMENT";
        public static const ICE:String = "ICE_ELEMENT";
    }
}

然后我像这样使用它:

var myelement:String = Elements.WATER;

关于flash - AS3从父类引用子类的子类而不实例化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5847854/

相关文章:

flash - Flash 套接字中的 SSL 连接?

css - 重叠 2 个 Flash 对象并控制 z-index

performance - AS3 引用单例

python - 子类的 __getitem__ 返回意外的切片

ios - 子类 UIView 有两个标签

javascript - Flash播放器 "now playing list"不中断当前歌曲

flash - 在 ActionScript 中获取图像大小

javascript - 查找两个日期之间天数差异的问题

actionscript-3 - 为什么 AS3 版本的 Singleton 中没有私有(private)构造函数?

Java:如何在子类中填充变量?