在Flash定義的類中,構造函數可以有參數,也可以沒有參數,如果構造函數沒有參數,當調用子類構造函數時,可以自動調用父類構造函數。
筆者與大家分享一下這個經驗。
首先,新建一個文檔類文件Record.as,將它保存在一個文件夾中,本例為“無參構造函數”。
在類中,插入MovieClip類,代碼如下圖所示。
定義Record類,繼承插入的MovieClip類。
接著,定義構造函數Record,在構造函數中創建一個Worker類的實例,并用trace輸出該實例。
接下來,在Record類下方,再定義一個類Manager。
在類中定義兩個私有變量nation和sex,變量的類型為String。
定義Manager的構造函數,在函數中輸出“運行Manager類的構造函數”。
定義一個函數toString,輸出nation和sex的值。
然后,在最下方定義一個類Worker,繼承Manager類,即Worker類是Manager類的子類。
定義Worker類的構造函數,在函數中輸出“運行Worker類的構造函數”。
新建一個Flash文檔,打開動作面板。
先創建一個Record類的實例,用變量p引用它。
接著,執行函數Record,輸出測試信息。
運行程序,可以看到Manager類構造函數的信息和Worker類構造函數的信息,輸出在窗口中了,但在Record函數中我們只調用了Worker類,為什么會調用Manager類呢?
這是因為如果類的構造函數沒有參數,在子類的構造函數中,可以自動調用父類的構造函數。
接下來,我們完善Manager類,輸入變量nation和sex的值,如下圖所示。
回到Flash文檔,運行程序可以看到nation和sex的值正常顯示,說明子類Worker的確是自動調用了父類Manager的構造函數。
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!