Come dici tu, l'overloading delle funzioni non è supportato in Action Script (e quindi nemmeno in Flex).
Ma le funzioni possono avere parametri di default come qui:
public function DoSomething(a:String='', b:SomeObject=null, c:Number=0):void
DoSomething
può essere chiamato in 4 modi diversi:
DoSomething()
DoSomething('aString')
DoSomething('aString', anObject)
DoSomething('aString', anObject, 123)
Questo comportamento forse è perché Action Script segue lo standard ECMA Script. Una funzione è infatti una proprietà dell'oggetto, quindi, come se NON POSSIAvi avere due proprietà con lo stesso nome, NON puoi avere due funzioni con lo stesso nome. (Questo è solo un'ipotesi)
Qui è lo standard ECMA-262 (specifica del linguaggio ECMAScript) nella sezione 13 (pagina 83 del file PDF) dice che quando si dichiara una funzione come
function Identifier(arg0, arg1) {
// body
}
Creare una proprietà dell'oggetto variabile corrente con il nome Identifier
e il valore è uguale a un oggetto funzione creata in questo modo:
new Function(arg0, arg1, body)
Quindi, questo è il motivo per cui non si può sovraccaricare una funzione, perché Non si può avere più di una proprietà dell'oggetto variabile corrente con lo stesso nome
fonte
2009-11-24 17:50:21
Flex è "solo" un framework .. quindi non offre nient'altro che actionscript 3 – TheHippo