一千萬個為什麽

搜索

AS3在運行時設置更改類類型

我有一個類,並使用flash.utils.describeType(this)跟蹤其類型

class Data extends EventDispatcher
        {
        public function Data()
            {
            //constructor
            }

        public override function toString():String
            {
            return describeType(this);
            }
        }



    
    
    
    

是否有可能在運行時覆蓋此信息,例如類型。@ isDynamic,以及extendsClass。@ type。 沒有字節碼?

最佳答案

這樣做的最佳替代方法是使用組合並只封裝您需要的類。這樣您就可以避免使用動態關鍵字以及更改擴展值的需要。

public class Data extends TheClassYouNeedToExtend
{
    private var encapsulated : TheRealData;

    private var value : int;

    public function Data()
    {
        encapsulated = new TheRealData;
    }

    public function get dynamicValue() : int
    {
        return value;
    }

    public function get dataValue() : int
    {
        return encapsulated.value;
    }
}

轉載註明原文: AS3在運行時設置更改類類型