Tá insultando minha inteligencia, sr Mário... hehehee. Mas acho que não
expliquei direito. Usando dessa forma ou vou estar toda hora instanciando um
objeto, e nao é interessante isso, alem de que eu perderia as propriedades.
vou colocar meu codigo e voce vai ter uma noção melhor.
Sei que é um pouco mais complexo que o normal, mas com esta implementação
consegui simplificar bastante meus sistemas. Só queria uma forma de "limpar"
um pouco o código, trocando *Tag._('tag1').label* por *Tag('tag1').label*, e
de alguma forma fazer isso chamar um
obs: se ver algum erro no codigo é porque eu dei uma limpada nele. tá tudo
funcionando perfeitinho aqui ;-)
mxml:
<s:Button label="{Tag._('tag1').label}" color="{Tag._('tag1').cor}" />
<s:Button label="{Tag._('tag2').label}" color="{Tag._('tag2').cor}" />
<s:Button click="{Tag._('tag2').cor = 0xff0000}" />
as:
[Bindable]
public class Tag {
public var cor:int;
public var label:String;
public function Tag( tag:String ) {
label = tag;
cor = int( Math.random() * 0xffffff );
}
/**
*
* Métodos e própriedades estáticas
*
* */
private static var tags:Array = [];
public static function _( tag:String ):Tag {
if ( !tags[tag] )
tags[tag] = new Tag( tag );
return tags[tag];
}
}
Em 30 de março de 2011 17:53, Mário Júnior <[email protected]> escreveu:
> Isso nao é bem um "casting"... isso se parece mais com uma factory simples,
> onde no seu metodo vc cria um objeto Teste, seta o valor 'teste 01' em algum
> atributo lá, e daí devolve esse objeto.
>
> Em se tratando de OO, nao é errado isso... tem várias formas de implementar
> uma Simple Factory
> (só ressaltando q Simple Factory != Abstract Factory).
>
> Oq mais se pareceria com a forma q vc quer é usar um construtor com
> argumento opcional. Caso o argumento seja passado, vc já seta ele no
> atributo q deseja, senao for passado entao pode devolver o objeto vazio.
>
> var teste : Teste = new Teste('valor 01');
>
> []'s
>
>
>
>
>
>
> Em 30 de março de 2011 17:02, Eric Tonussi <[email protected]>escreveu:
>
>>
>> Alguem sabe como fazer este tipo de casting?
>>
>> var teste:Teste = Teste( 'teste 01' ); // queria usar algum metodo
>> para transformar esse parametro em um obj do tipo Teste
>>
>> Atualmente estou fazendo assim:
>>
>> var teste:Teste = Teste.getTeste( 'teste 01' ); // sendo que q
>> getTeste é um metodo estatico que retorna um obj do tipo Teste
>>
>> --
>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>> Para enviar uma mensagem, envie um e-mail para [email protected]
>> Para sair da lista, envie um email em branco para
>> [email protected]
>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>
>
>
>
> --
> Mario Junior
> http://blog.mariojunior.com/
> @mariojunior
>
> --
> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> Para enviar uma mensagem, envie um e-mail para [email protected]
> Para sair da lista, envie um email em branco para
> [email protected]
> 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 [email protected]
Para sair da lista, envie um email em branco para
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev