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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 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