ActionScript3 – Introspecção de Objeto
Olá Pessoal, tudo bem?
Hoje vou abordar de forma simples e direta o que é Introspecção de Objeto, utilizando ActionScript3!
Trataremos deste assunto com mais profundidade em um outro post.
Antes de mais nada o que é introspecção de objeto?
É uma técnica para visualizar/analisar todos os métodos e propriedades de uma classe.
E como isto é realizado?
Utilizando AS3 temos 2 maneiras:
- Utilizando o laço for…in;
- Utilizando a API de Introspecção.
Abaixo vamos visualizar a utilização com o laço for:
private var objeto:Object = new Object(); private function initObject():void { // Aqui criamos o objeto, utilizarei cidades como exemplo. objeto.a = "São Paulo"; objeto.b = "Rio de Janeiro"; objeto.c = "Belo Horizonte"; } public function extractObject():void { for (var p:String in objeto) { // Digamos que meuText é o TextArea em que irei exibir os dados. meuText.text += p + ":" + objeto[p] + "\n"; } }
O resultado será o output abaixo:
c:Belo Horizonte
b:Rio de Janeiro
a:São Paulo
A outra forma, será utilizando o método getClassInfo, presente no objeto ObjectUtil.
import mx.utils.ObjectUtil; public function init() : void{ // Neste caso declaramos a variável obj sendo do tipo objeto, e recebendo o método getClassInfo com o parametro Mouse, que neste caso é o objeto Mouse var obj : Object = ObjectUtil.getClassInfo(Mouse); // Enviamos ao TextArea o obj como string, utilizando o método toString() myText.text = ObjectUtil.toString(obj); } // Realizamos o mesmo procedimento acima, entretanto fornecendo para introspecção a propriedade cursor, presente no objeto Mouse. public function init2() : void{ var obj : Object = ObjectUtil.getClassInfo(Mouse.cursor); myText2.text = ObjectUtil.toString(obj); }
Veja este mesmo exemplo tratado acima em tempo real:
Espero que tenha sido útil, caso queiram complementar informações basta comentar!
Abraços
Olá Pessoal, vim trazer para vocês uma super dica ultra valiosa, mais uma ferramenta de aprendizado aos interessados que querem programar em Adobe Flex.