Acredito que a maneira mais correta ainda seja utilizando o operador "is".

Leonardo e Rogério, de ambas as maneiras que vocês propuseram, não
funcionaria para todos os casos.

MinhaClasse1 herda MinhaClasse2 que herda MinhaClasse3 que herda Group que
herda GroupBase que herda UIComponent.

Tanto  getQualifiedSuperclassName   quanto  *
Class(getDefinitionByName(getQualifiedClassName(obj)));*
retornaria false se eu quisesse saber se a classe é um UIComponent ou
MinhaClasse3 por exemplo.

Abraço,

Fredy.


2012/8/9 Rogerio Gonzalez <rogerio.gonza...@gmail.com>

> Falae Pessoal!
>
> Se por qualquer motivo você não souber a classe no momento do teste, outra
> opção, é vc pegar pelo class name:
>
> *var className:String = getQualifiedClassName(obj);*
>
> ai vc pode até retornar a propria classe assim:
>
> *return Class(getDefinitionByName(getQualifiedClassName(obj)));*
>
>
> Abraços
>
> Rogério Gonzalez
>
>
>
>
> 2012/8/9 Fredy Gadotti <fredy.gado...@gmail.com>
>
>> Você pode testar com o operador "is".
>>
>> if(instancia is TitleWindow){  // Isso retorna true se na herança de
>> classes, uma delas for TitleWindow :)
>>
>> Abraço,
>>
>> Fredy,
>>
>>
>> 2012/8/9 Leonardo Oliveira <leonardoc.olive...@gmail.com>
>>
>>> Boa tarde a todos. Estou com uma questão interessante e gostaria de
>>> uma ajuda. Simplificando ao máximo, tenho duas classes filhas que
>>> extendem de componentes. Instanciando dinamicamente as filhas, como
>>> saber de qual pai é? Exemplo:
>>>
>>> public class ClasseUm extends MDIWindow
>>> {
>>>    (...)
>>> }
>>>
>>> public class ClasseDois extends TitleWindow
>>> {
>>>    (...)
>>> }
>>>
>>> este é o handler do botão que abre a interface:
>>> (v_interface recebe como string "ClasseUm" ou "ClasseDois")
>>>
>>> private function handlerClickLink(v_interface:String):Function{
>>>         return function(event:MouseEvent):void
>>>         {
>>>                 var ClassReference:Class =
>>> getDefinitionByName(v_interface) as
>>> Class;
>>>                 var instancia:Object = new ClassReference();
>>>
>>>                 if(instancia é filha de TitleWindow){//aquí é onde
>>> preciso testar de
>>> que pai é o filho
>>>                         PopUpManager.addPopUp(instancia, parent, true);
>>>                         PopUpManager.centerPopUp(instancia);
>>>                 }
>>>                 else{
>>>                         MDIWindow(instancia).resizable = true;
>>>
>>> cnvAreaTrabalho.windowManager.add(MDIWindow(instancia));
>>>                 }
>>>         }
>>> }
>>>
>>> Aguardo a ajuda de vocês. Obrigado.
>>>
>>> --
>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
>>> Para sair da lista, envie um email em branco para
>>> flexdev-unsubscr...@googlegroups.com
>>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>>>
>>
>>  --
>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
>> Para sair da lista, envie um email em branco para
>> flexdev-unsubscr...@googlegroups.com
>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>>
>
>  --
> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
> Para sair da lista, envie um email em branco para
> flexdev-unsubscr...@googlegroups.com
> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para 
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a