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

ActionScript

  1. package {
  2.     import flash.util.trace;
  3.     import flash.display.Sprite;
  4.     public class Checktype extends Sprite {
  5.         public function Checktype(){
  6.             this.dynamicTest(100);
  7.             this.dynamicTest("uma cadeia de caracteres");  
  8.         }
  9.         public function dynamicTest(xParam):void{
  10.             if(xParam is String){
  11.                 var myStr:String = xParam;
  12.                 trace("String: "+myStr);
  13.             }else if(xParam is Number){
  14.                 var myNum:Number = xParam;
  15.                 trace("Number: "+myNum);
  16.             }
  17.         }
  18.     }
  19. }

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á.

ActionScript

  1. function runtimeTest(xParam){
  2. xParam.someMethod();
  3. return xParam.someProperty;
  4. }

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:

ActionScript

  1. function runtimeTest(xParam:String) {
  2.     trace(xParam);
  3. }
  4. var myParam:String = "hello";
  5. runtimeTest(myParam);

Fonte:
Type checking Action Script 3.0

Para saber mais:
Adobe Labs

C data types

Java data types

ActionScript 3.0, Flash Platform, Flex, Principal, RIA

Leave a Reply