Checagem de tipos de dados no ActionScript 3.0

A checagem de tipo pode ocorrer em tempo de compilação ou em tempo de execução. As linguagens estaticamente tipadas, tais como C++ e Java, fazem a verificação em tempo de compilação. Como uma linguagem dinâmicamente tipada, o Action Script 3.0 verifica em tempo de execução. Linguas dinâmicamente tipadas oferecem a flexibilidade ao estruturar seu código. Por exemplo, o seguinte código não especifica o tipo de dados do parâmetro “xParam”. Em tempo de execução, o parâmetro é usado obter um valor do tipo Number e um valor do tipo String. Na função dynamicTest() é usado o operador is para testar se o parâmetro é do tipo Number ou String

[as]package {
import flash.util.trace;
import flash.display.Sprite;
public class Checktype extends Sprite {
public function Checktype(){
this.dynamicTest(100);
this.dynamicTest(“uma cadeia de caracteres”);
}
public function dynamicTest(xParam):void{
if(xParam is String){
var myStr:String = xParam;
trace(“String: “+myStr);
}else if(xParam is Number){
var myNum:Number = xParam;
trace(“Number: “+myNum);
}
}
}
}[/as]

Outro exemplo da flexibilidade oferecida envolve o uso das propriedades e os métodos em que não são conhecidos em tempo de compilação. O compilador do Action Script 3.0 permite que você use propriedades e chame métodos que não existam em tempo de compilação. Isto permite que você crie dinâmicamente propriedades ou atribua métodos em tempo de execução. Por exemplo, o seguinte código cria uma função chamada o runtimeTest() que invoca um método e retorna uma propriedade, nenhum conhecido ao compilador. O código não gerará um erro do tempo de compilação, mas se a propriedade ou o método não forem acessível em tempo de execução, um erro em tempo de execução ocorrerá.

[as]function runtimeTest(xParam){
xParam.someMethod();
return xParam.someProperty;
}[/as]

Para declarar explicitamente um tipo de dados para uma variável, use o atributo var ao declarar a variável e adicione o operador dois pontos (“:”) seguido pelo tipo de dados como um sufixo ao nome variável. Para associar um tipo de dados com um parâmetro, você usa o operador dois pontos (“:”) seguido pelo tipo de dados. Para o exemplo, o seguinte código adiciona a informação do tipo de dados ao parâmetro do xParam, e declara um myParam variável com um tipo de dados explícito:

[as]function runtimeTest(xParam:String) {
trace(xParam);
}
var myParam:String = “hello”;
runtimeTest(myParam);
[/as]

Fonte:
Type checking Action Script 3.0

Para saber mais:
Adobe Labs

C data types

Java data types

Leave a Reply