irgo 0 Denunciar post Postado Junho 4, 2009 olá como que eu posso fazer uma espécie de overload. Sei q ele não existe no flash mas eu preciso que uma função minha receba quantidade de parametros diferentes em relação a demanda do sistema. Consegui solucionar criando um objeto que receba tudo, porém gostaria de saber de tem como criar funções com msmo nome soh q com parametros diferentes. Ah e ja aproveitando, pra que serve o override ? valeus Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Junho 5, 2009 o actionScript realmente não suporta overload(sobrecarga) de métodos, mas ele permite você criar um metodo que pode receber um numero indefinido de valores function testaExtraParams(m:String, ...parans){ trace("primeiro parâmetro:" + m); trace("segundo parâmetro:" + parans[0]); trace("terceiro parâmetro:" + parans[1]); trace("quarto parâmetro:" + parans[2]); trace("-------------------------"); } testaExtraParams("gato", "pato"); testaExtraParams("gato", "pato", "sapo", "leão"); assim você não pre-define o tipo das variáveis, pode resolver o seu problema []´s Compartilhar este post Link para o post Compartilhar em outros sites
irgo 0 Denunciar post Postado Junho 29, 2009 alass..muito obrigado, como sempre acertou em cheio :) Compartilhar este post Link para o post Compartilhar em outros sites
brunobispo 20 Denunciar post Postado Junho 30, 2009 E override serve para substituir métodos e propriedades herdadas. Por exemplo: Você cria uma classe extendida de Sprite e muda a propriedade width, fazendo com que retorne um outro valor qualquer ao invés do definido na classe herdada. override public function get width() : Number { return 1 } Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Junho 30, 2009 brunobispo a duvida era sobre Overload(sobrecarga) e não sobre override (Sobreposição) a idéia do 1º, é ter mais de um método com o mesmo nome, mas a passagem de parâmetros diferentes, como public function somar(valor1:Number, valor2:Number):Number { return valor1 + valor2; } public function somar(valor1:Number, valor2:Number, valor3:Number):Number { return valor1 + valor2 + valor3; } se você passar 2 valores, o programa executa o 1º método, se passar 3 ele chama o 2º, isso é Overload, e o AS3 não dá suporte a isso, já o override funciona dessa maneira que você explicou http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif []´s Compartilhar este post Link para o post Compartilhar em outros sites
brunobispo 20 Denunciar post Postado Junho 30, 2009 [...] Ah e ja aproveitando, pra que serve o override ? valeus Ele também perguntou sobre override, Eder. :) Compartilhar este post Link para o post Compartilhar em outros sites