Skip to content
27 de dezembro de 2010 / rafaelti

ActionScript 3.0 – parte 1

O ActionScript 3.0 consiste na linguagem central do ActionScript e na API (Application Programming Interface) do Adobe Flash Player. Na wikipedia e adobe tem mais informação.

Classes e Objeto

O ActionScript contém diversas classes embutidas, tais como Number, Boolean e String.  Todas as classes, incorporadas ou definidas pelo usuário, derivam da classe Object. No ActionScript existe o conceito de objeto sem tipo sendo definidos de duas formas.

var someObj:*;

var someObj;

Para declarar sua própria classe deve utilizar a palavra reservada class as propriedades das classes podem ser declarada de 3 formas:

  • Constante: Com a palavra reservada const.
  • Variável: Com a palavra reservada var.
  • getter e setter: Com a palavra reservada get e set.

Na declaração de método deve utilizar a palavra reservada function.

Para instanciar uma classe deve utilizar a palavra reservada new, tal como exemplo abaixo.

var myBirthday:Date = new Date();

Espaço de nomes

O espaço de nomes é container abstrato  assim fornecendo uma desambiguação de itens sendo que um mesmo nome possa existir em espaço de nomes diferentes, ou seja, não pode existir um mesmo identificador para tratar situações diferentes. Como por exemplo em fábricas que identificador código trata a quantidade produzida no ano e em outra código é um número único. No exemplo abaixo o identificadores são sampleGreeting e sampleFunction. Neste caso como não foi definido o espaço de nome será atribuído automaticamente o espaço de nome internal.

class SampleCode   {
  var sampleGreeting:String;
    function sampleFunction () {
       trace(sampleGreeting + " from sampleFunction()");
    }
}

Tem três passos para usar espaço de nomes. Primeiro, defina o espaço para nomes usando a palavra-chave namespace.

namespace version1;

Segundo, deve aplicar o espaço de nome no identificador de método ou atributo. O exemplo a seguir coloca uma função chamada myFunction() no espaço para nomes version1:

version1 function myFunction() {}

Terceiro e último para fazer referência deve usar a diretiva use ou qualificando o identificador com o espaço de nomes

use namespace version1;
myFunction();

ou

version1::myFunction();

Pacotes

Os pacotes são implementados com espaços de nomes mas, ambos não são sinônimos. Os pacotes são mecanismos para organização e contém um número qualquer de classes e interfaces, que se relacionam pelo objetivo, escopo ou herança. Abaixo um exemplo de pacote.

package samples   {  
   public class SampleCode  {  
      public var sampleGreeting:String;   
      public function sampleFunction()  {  
         trace(sampleGreeting + " from sampleFunction()");  
      }  
}

Para utilizar o pacote deve utilizar import. A instrução deve ser mais especifica possível caso utilize somente uma classe.

import samples.*;

ou

import samples.SampleCode;

Depois de importado não é necessário utilizar nome qualificado (samples.SampleCode), mas sim o nome da classe SampleCode. Deve sempre utilizar o modificador de classe public para que fique disponível para outras classes no mesmo espaço de nomes.


Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: