我得到這些構造函數的重複聲明,做默認的構造函數獲取類作爲默認....有人知道答案?actiuon腳本3默認構造函數說明
public function GraphNodeStyle() {
super(CollapsibleNodeStyleComponent);
}
public function GraphNodeStyle(componentClass:Class) {
super(componentClass);
}
我得到這些構造函數的重複聲明,做默認的構造函數獲取類作爲默認....有人知道答案?actiuon腳本3默認構造函數說明
public function GraphNodeStyle() {
super(CollapsibleNodeStyleComponent);
}
public function GraphNodeStyle(componentClass:Class) {
super(componentClass);
}
在ActionScript中只能有一個構造函數。改爲使用initializeWithComponentClass()
方法。
您可以使用默認值構造函數,並取決於值調用super
用正確的參數:
如果你在分化new GraphNodeStyle(null)
比new GraphNodeStyle()
有趣:
class GraphNodeStyle extends ... {
function GraphNodeStyle(componentClass:Class=null) {
super((componentClass===null)?CollapsibleNodeStyleComponent:componentClass);
}
}
否則,你可以使用*
作爲類型來接受未定義的值,所以您可以區分這兩種情況,當然,由於您接受任何值,因此您將失去從編譯器進行的類型驗證,而不僅僅是類:
GraphNodeStyle類擴展... {
function GraphNodeStyle(componentClass:*=undefined) {
super((componentClass===undefined)?CollapsibleNodeStyleComponent:componentClass);
}
}