靜態成員包括靜態屬性和靜態方法,靜態屬性不由子類繼承,不能通過子類的實例訪問,我們在Flash中該如何使用靜態成員呢?筆者與大家分享一下自己的經驗。
先創建一個文檔類Test.as,保存在一個文件夾中,本例為“靜態成員”。
在文檔類中創建一個父類Animal,在父類中定義一個靜態變量name,并給變量賦值。
定義一個子類Plant,繼承父類Animal。
在類的頂部定義文檔類Test,新建構造函數,創建名為Tree的顯示實例,在舞臺中輸出name屬性值。
新建一個Flash文檔,用文本工具在文本圖層中繪制一個動態文本框,在屬性面板中將實例名稱取名為name_txt。
單擊舞臺的空白區域,在“類”中輸入文檔類類名Test。
運行程序,會提示錯誤。
這是因為name屬性是靜態屬性,靜態屬性不由子類繼承,所以不能通過子類的實例訪問。
那么該如何訪問靜態屬性呢?
其實最簡單的方法就是通過類對象來訪問,在文檔類中將實例名Tree改成類名Animal,就可以訪問靜態屬性了。
Flash還允許在類中使用與靜態屬性相同的名稱定義實例屬性,可以在靜態屬性下增加一個實例屬性,如下圖所示。
現在,就可以用實例名Tree,來訪問屬性name了,運行程序結果如下圖所示。
其實,雖然子類不能繼承靜態屬性,但是靜態屬性在定義它的類和任何子類中都是有效的,在子類中可以直接訪問靜態屬性。
現在,將輸出代碼放置到子類中。
運行程序,可以看到變量name的值在輸出窗口中輸出了。
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!