Eu não entendi bem o código e o que ele faz. Mas pelo que pude ver cada objeto terá seu método isolado. O parâmetro parameters_class teria o mesmo valor para todos objetos se tivesse o modificador "static". Como não é static, cada objeto é instanciado na memória.
Em 18 de abril de 2013 09:29, Wemerson Couto Guimarães <[email protected] > escreveu: > Droga, essas teclas de atalho do gmail me matam... não cliquei no botão > send e mesmo assim a mensagem foi enviada antes de eu concluir... Achei > melhor fazer um pastebin e colar aqui para facilitar > > http://pastebin.com/SmxgQaG6 > > Minha dúvida é... se o método send foi feito um override na classe de > origem ServiceBase , para cada classe que for instanciada ela terá esse > método isolado correto? Não há a possibilidade de UserService, > CidadeService e OutroService terem o valor de "parameters_class" uma da > outra visto que esse valor é definido na classe de origem? > > > Em 18 de abril de 2013 09:18, Wemerson Couto Guimarães < > [email protected]> escreveu: > > Galera, estou com uma dúvida aqui sobre um comportamento de OO que tá me >> tirando o sono por receio de falhar. Vejam o cenário: >> >> Preciso acessar alguns servicos REST usando HTTPServices, então montei >> uma classe chamnada ServiceBase e nessa classe eu faço um override do >> método send() par que ele monte a url final a ser acessada conforme os >> dados presentes nas suas classes filhas. Vejam: >> >> override public function send(parameters:Object=null):AsyncToken{ >> >> // Defines REST Method >> if (parameters == null) >> parameters = new Object(); >> // IF the REST method is not defined, define it form class default >> if( parameters._method == null) >> parameters._method = this._restMethod; >> // Define the Remote Service name before send >> parameters._class = getRemoteClassName(); >> return super.send(parameters); >> } >> >> >> protected function getRemoteClassName():String{ >> var qualifiedClassName:String = >> getQualifiedClassName(this).split("::")[1]; // services::UserService >> var className:String = qualifiedClassName.split("Service")[0]; // User >> return className; >> } >> >> >> Classe extendida: >> >> class UserService extends ServiceBase >> { >> >> } >> >> >> >> -- >> Wemerson Guimarães >> Rio Verde - Go - Brasil >> > > > > -- > Wemerson Guimarães > Rio Verde - Go - Brasil > > -- > -- > 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ê está recebendo esta mensagem porque se inscreveu no grupo "flexdev" > dos Grupos do Google. > Para cancelar a inscrição neste grupo e parar de receber seus e-mails, > envie um e-mail para [email protected]. > Para obter mais opções, acesse https://groups.google.com/groups/opt_out. > > > -- Robson Mattos -- -- 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ê está recebendo esta mensagem porque se inscreveu no grupo "flexdev" dos Grupos do Google. Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para [email protected]. Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
