Tweeter button
Facebook button

Por uma internet LIVRE! STOP SOPA & PIPA!

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

Gostou do Artigo? Então leia mais:

Deixe um Comentário

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

Go back to top