| Mensaje |
Autor |
Publicado: Vie Ago 10, 2007 2:47 pm |
Citar |
Hola, como dice el titulo de este post, en AS3 no era posible la sobrecarga de funciones ?  |
|
|
Zandy

clabLevel: 902 
www.cristalab.com
3 Tips
|
|
Volver arriba |
 |
Publicado: Vie Ago 10, 2007 3:16 pm |
Citar |
| err te refieres a override? |
_________________ Si miro tan alto es porque ando a hombros de gigantes- Isaac Newton |
|
Zah
SWAT Team

clabLevel: 2800 
Zaragoza, España
4 Tutoriales
20 Tips
|
|
Volver arriba |
 |
Publicado: Vie Ago 10, 2007 3:28 pm |
Citar |
La sobrecarga Zah, es poder tener en una clase, dos métodos que se llaman igual, pero tienen diferentes argumentos. El override sobrescribe un método de una clase padre.
La sobrecarga no se puede en actionscript, pero se puede pseudo implementar, jugando con el número de argumentos y el datatype de los mismos. |
_________________ Hemisferio derecho
Blog de la selección mexicana. |
|
Dano
BOFH

clabLevel: 2858 
3 Tutoriales
7 Tips
10 Ejemplos
|
|
Volver arriba |
 |
Publicado: Vie Ago 10, 2007 4:51 pm |
Citar |
Si, es precisamente eso lo que quiero. tengo varias funciones con diferentes argumentos cada una, pero no me lo coge por ejemplo por ejemplo :
Código : class myFill { public function myFill():void { } public function Fill(obj:ComboBox):void public function Fill(obj:DataGrid):void }
Como ves ambas implementaciones tienen tipos de datos diferentes y aun asi da error
!Definicion de funcion duplicada !  |
|
|
Zandy

clabLevel: 902 
www.cristalab.com
3 Tips
|
|
Volver arriba |
 |
Publicado: Vie Ago 10, 2007 4:56 pm |
Citar |
Again:
Código : La sobrecarga no se puede en actionscript, pero se puede pseudo implementar, jugando con el número de argumentos y el datatype de los mismos.
Te paso una emulación para tu código:
Código : class myFill { public function myFill():void { } public function FillCombo(obj:*):void { if( obj is ComboBox ){ FillCombo(obj); return ; } if( obj is DataGrid) { FillDataGrid(obj); return ; } trace("No existe ningún método compatible para los argumentos dados"); } public function FillCombo(obj:ComboBox):void public function FillDataGrid(obj:DataGrid):void }  |
_________________ Hemisferio derecho
Blog de la selección mexicana. |
|
Dano
BOFH

clabLevel: 2858 
3 Tutoriales
7 Tips
10 Ejemplos
|
|
Volver arriba |
 |
Publicado: Vie Ago 10, 2007 6:26 pm |
Citar |
Gracias Dano, muy útil ejemplo, que lo pongan en tip !! |
_________________ "Puede más el que quiere que el que puede" http://diario.de/rafeo |
|
Rafeo

clabLevel: 420 
Cananea Creative Child in Hermosillo
2 Tips
|
|
Volver arriba |
 |
Publicado: Vie Ago 10, 2007 8:09 pm |
Citar |
|
Dano
BOFH

clabLevel: 2858 
3 Tutoriales
7 Tips
10 Ejemplos
|
|
Volver arriba |
 |
Publicado: Vie Ago 10, 2007 8:49 pm |
Citar |
Muy lógico..... buen tip Dano.
gracias a todos los que respondieron
buen dia |
|
|
Zandy

clabLevel: 902 
www.cristalab.com
3 Tips
|
|
Volver arriba |
 |
Publicado: Vie Ago 10, 2007 11:24 pm |
Citar |
la forma de tener cualquier cantidad de argumentos en as3 es asi:
Código : private function myMethod(...statements):void { trace(statements.length +" < ---- > "+ statements); }
saludos |
|
|
bipsa
clabLevel: 426 
Colombia
|
|
Volver arriba |
 |
Publicado: Vie Ago 10, 2007 11:41 pm |
Citar |
Con respecto al codigo de Dano cambiaria el * por DisplayObject ambos elementos heredan de esta clase.... no es bueno abusar del *, si puedes ver en la documentacion de AS3 de donde vienen todas las clases...
saludos |
|
|
bipsa
clabLevel: 426 
Colombia
|
|
Volver arriba |
 |
Publicado: Sab Ago 11, 2007 3:26 am |
Citar |
Gracias bipsa, es una idea, ya se puede ajustar a su necesidad.
Código : ...statements Hablando de best practices, seguro y te lo digo por lógica no por leerlo en algún lado, esto es mas ambiguo que un datatype variant(* en ActionScript), ya que este permite cualquier cantidad de argumentos Y TODOS con un datatype variant, es como replicar un array con datatype *.
Ojo, me parece bueno tu consejo, que complementa idea, pero me parecio curioso que hablaras de optimizar rendimiento y ofrecer algo aun mas ambiguo que el DataType *.
saludos  |
_________________ Hemisferio derecho
Blog de la selección mexicana. |
|
Dano
BOFH

clabLevel: 2858 
3 Tutoriales
7 Tips
10 Ejemplos
|
|
Volver arriba |
 |
Publicado: Sab Ago 11, 2007 2:35 pm |
Citar |
Estoy deacuerdo dano... solo mostraba la forma como tener varios parametros en una funcion con As3. El tema original de este post... Saludos, |
|
|
bipsa
clabLevel: 426 
Colombia
|
|
Volver arriba |
 |
 |