No se han preguntado como le hicieron para tener funciones como: flash.net.navigateToURL, flash.utils.getDefinitionByName, etc.
Son funciones que se importan sólo cuando se necesitan y para un uso específico. A este tipo de funciones se les conoce como Funciones Globales.
Código :
// Archivo: saludo.as
package com.otakurzo.utils
{
public function saludo(mensaje:String)
{
trace( mensaje );
}
}
import com.otakurzo.utils.saludo;
saludo("This Is CRISTALAB!!!");
Es muy útil cuando necesitamos cosas especificas y evitar cargar las típicas clases con funciones estáticas. Y lo mejor es que si necesitamos una función específica en varias clases de nuestro proyecto, por ejemplo un log, sólo necesitaríamos crear nuestra función global en la raiz de nuestro proyecto y la podríamos llamar sin necesidad de hacerle un import .
Código :
// Archivo: log.as
package
{
import com.otakurzo.utils.MyLogger; //Sí, puedes hacer Import dentro de ella
public function log(info:String)
{
MyLogger.save( info);
}
}
Código :
package com.otakurzo.project
{
public class Test
{
public function Test()
{
log( 'Cargo com.otakurzo.project.Test');
}
}
}
Pero tiene un par de reglas a seguir:
El archivo debe llamarse igual que la función que contiene.
No puedes tener más de una función en el mismo archivo. Pero puedes invocar a otros que esten en otro archivo.
Buen Tip Otaku Las funciones estáticas son muy útiles y necesarias en muchos casos Por:Zguillez
Está interesante, pero no entiendo muy bien qué diferencia hay con las estáticas. Es por rendimiento, memoria? Por:Iván-blog
@Iván no, son funciones únicas que puedes usar a lo largo del proyecto y no necesariamente tienen que estar atadas a una clase, pero eso lo defines tú según sea el caso, sólo he presentado una forma más de crearlas. Por:Otaku RzO