Antes de iniciar, gostaria de parabenizar dois profissionais, os quais tem sido uma referencia nesta fase inicial dos meus estudo em Flex e ActionScript. Ambos atendem prontamente quando solicitamos, sempre muito atenciosos e detalhistas em suas respostas, o que ajuda e muito, alem de passar uma grande confianca. E ressalto o trabalho que desenvolvem atraves de seus sites e forum. Sao eles: Mario Santos, da msdevstudio.com e o Julio da flexpernambucano.com.br. Queria aproveitar este meu primeiro post sobre Flex e Actionscript para de publico agradecer e parabenizar aos dois. Obrigado!Mas vamos ao post!!Reflexao ou introspeccao e a capacidade de um programa de investigar fatos sobre si proprio. E uma tecnica para determinar os elementos de uma classe em tempo de execucao, tais como suas propriedades e metodos. Existem duas maneiras de fazer instrospeccao em Actionscript.A primeira maneira e usando o laco for..in. Esta tecnica somente funciona para objetos dinamicos, poisela enumera apenas as propriedades adicionadas dinamicamente. Ou seja, variaveis e metodos declarados nao sao enumerados em lacos for..in. Veja exemplo:<?xml version="1.0"?><!-- IntrospectionForIn.mxml --><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="initApp()"><mx:Script><![CDATA[ private var obj:Object = new Object(); private function initApp():void { // propriedades adicionadas dinamicamente. obj.a = "Schotten Totten"; obj.b = "Taj Majal"; obj.c = "Durche die Wuste"; } public function dumpObj():void { for (var p:String in obj) { ta1.text += p + ":" + obj[p] + "\n"; } }]]></mx:Script><mx:TextArea id="ta1" width="400" height="200"/><mx:Button label="Dump Object" click="dumpObj()"/></mx:Application>Exemplo retirado da documentacao da adobe Flex.A segunda maneira e usando a API de Instrospeccao. Ela e apropriada quando se quer listar todas as propriedades e metodos publicos de uma classe nao-dinamica. Aqui destaco o metodo flash.utils.describeType(), o qual retorna um XML com a descricao da classe (E4X API). Veja exemplo:<?xml version="1.0"?><!-- IntrospectionAPI.mxml --><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="getDetails()"> <mx:Script><![CDATA[ import flash.utils.*; public function getDetails():void { // Fornece a descricao do Botao em E4X XML. var classInfo:XML = describeType(button1); // Lista o nome da classe. ta1.text = "Class " + classInfo.@name.toString() + "\n"; // Lista as variaveis do objeto, seus valores e seus respectivos tipos. for each (var v:XML in classInfo..variable) { ta1.text += "Variable " + v.@name + "=" + button1[v.@name] + " (" + v.@type + ")\n"; } // Lista os acessores como propriedades. for each (var a:XML in classInfo..accessor) { // Nao fornece o valor da propriedade se for "write only". if (a.@access == 'writeonly') { ta1.text += "Property " + a.@name + " (" + a.@type +")\n"; } else { ta1.text += "Property " + a.@name + "=" + button1[a.@name] + " (" + a.@type +")\n"; } } // Lista os metodos do objeto. for each (var m:XML in classInfo..method) { ta1.text += "Method " + m.@name + "():" + m.@returnType + "\n"; } } ]]></mx:Script> <mx:Button label="This Button Does Nothing" id="button1"/> <mx:TextArea id="ta1" width="400" height="200"/></mx:Application>Exemplo retirado da documentacao da adobe Flex.Saiba mais nas referencias abaixo.Referencias1. http://livedocs.adobe.com/flex/3/html/help.html?content=usingas_8.html2. http://jsatriani.wordpress.com/2008/06/10/introspeccao-performance-java-x-action-script3/3. http://www.as3dp.com/2007/05/05/runtime-checks-for-abstract-classes-and-methods-in-actionscript-30/ Neste ultimo dia 18 de Fevereiro, as 19 horas se realizou no Colegio Agape, palestra sobre as regras do Voleibol com enfase nas alteracoes 2009-2012.A palestra foi ministrada para os alunos e atletas das selecoes de voleibol do colegio e ainda contou com