Imagine uma classe NumeroUtil definida assim:

Public class NumeroUtil{
        
        Public function soma (numeroA:Number, numeroB:Number):Number{
                Return numeroA + numeroB;
        }
}

Para chamar a função soma dessa classe seria necessário criar uma instância
da classe, da seguinte forma:

Var objNumeroUtil:NumeroUtil = new NumeroUtil();
Var soma:Number = objNumeroUtil.soma (1,2);

Uma função static (estática) pode ser chamada diretamente da classe, sem
você precisar instancia-la.
Modificando a classe NumeroUtil para uma função estática (static):

Public class NumeroUtil{
        
        Public static function soma (numeroA:Number, numeroB:Number):Number{
                Return numeroA + numeroB;
        }
}

A chamada da função soma ficaria assim:

Var soma:Number = NumeroUtil.soma (1,2);

Veja que eu não precisei instanciar a classe número útil.

Da mesma maneira você poderia ter uma variável estática:

Public class NumeroUtil{

        Public static var guardadoDeNumero:Number;      
}

Você poderia usar:

NumeroUtil.guardadorDeNumero = 7;


Vale a pena ressaltar o uso de outro conceito de orientação a objetos (OO)
que muitas vezes caminha junto com o conceito de variável ou função estática
(static), o conceito de const (constante).
Por exemplo:

Public class NumeroUtil{

        Public static const pi:Number = 3.141592653589; 
}

O valor da variável estática pi é constante. Se você tentar fazer isso:

NumeroUtil.pi = 99; //gera erro

Claro que isso é uma questão mais conceitual, mas que acaba facilitando
muito a leitura e organização do código.

Recomendo muito que você procure se aprofundar um pouco nos conceitos da
orientação a objetos.

Grande Abraço

Bonafé


-----Mensagem original-----
De: [email protected] [mailto:[email protected]] Em nome de
Flávio Tomazio
Enviada em: terça-feira, 16 de março de 2010 20:27
Para: flexdev
Assunto: [flexdev] Dúvidas Básicas de Flex

Olá.
Quais são as diferenças entre:
public function e public static function

E o que são bubbles?

-- 
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
Verificado por AVG - www.avgbrasil.com.br 
Versão: 8.5.436 / Banco de dados de vírus: 271.1.1/2736 - Data de
Lançamento: 03/15/10 19:33:00

-- 
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

Responder a