Você está aqui: ActionScript ::: Dicas de Estudo e Anotações ::: Modificadores |
Aprenda a usar o modificador (atributo) static para modificar variáveis e métodos de uma classeQuantidade de visualizações: 8273 vezes |
|
O modificador (atributo em ActionScript) static é usado para especificar que um método ou variável pertence à uma classe e não aos objetos dessa classe. Em outras palavras, podemos acessar métodos, constantes e variáveis marcadas como static em uma classe sem a necessidade de construir uma instância dessa classe. Tome por exemplo a classe Math. Todos os métodos, variáveis e constantes públicas são marcadas como static. Isso permite que usemos código como o seguinte: var valor:Number = Math.ceil(45.6);
package{
public class UtilidadesString{
// método static que remove os espaços
// antes e depois de uma string
public static function trim(str:String):String{
return str.replace(/(^\s+)|(\s+$)/g, "");
}
}
}
<?xml version="1.0" encoding="iso-8859-1"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
applicationComplete="iniciar()">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
public function iniciar():void{
var frase:String = " Tenho espaços no " +
"início e fim. ";
// vamos remover os espaços
frase = UtilidadesString.trim(frase);
Alert.show("#" + frase + "#");
}
]]>
</mx:Script>
</mx:Application>
public static function trim(str:String):String{
return str.replace(/(^\s+)|(\s+$)/g, "");
}
frase = UtilidadesString.trim(frase);
package{
public class Aviao{
// variável marcada como static
public static var quantidade:int;
// construtor da classe
public function Aviao(){
quantidade++;
}
}
}
<?xml version="1.0" encoding="iso-8859-1"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
applicationComplete="iniciar()">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
public function iniciar():void{
// cria instâncias da classe avião
var aviao1:Aviao = new Aviao();
var aviao2:Aviao = new Aviao();
var aviao3:Aviao = new Aviao();
// obtém a quantidade de aviões criados
var quant:int = Aviao.quantidade;
Alert.show(quant + " aviões foram criados.");
}
]]>
</mx:Script>
</mx:Application>
3 aviões foram criados. var quant:int = Aviao.quantidade; var quant:int = aviao1.quantidade; Error: Access of possibly undefined property quantidade through a reference with static type Aviao. var quant:int = aviao1.quantidade; Por fim, saiba que não é possível acessar variáveis, constantes e métodos não static a partir de um método marcado como static. Isso faz sentido. Se o método pertence à classe e não às suas instâncias e poderá ser chamado sem que nenhuma instância da classe seja criada, é razoável supor que, ao chamar ou acessar membros de instância, o ambiente de compilação ou execução emita mensagens de erro. Veja o que acontece tentando compilar um programa Flex que faz uso da seguinte classe:
package{
public class Aviao{
// variável não é static
private var marca:String;
public static function umMetodo():void{
// tenta acessar uma variável não
// static a partir de um método static
marca = "Fox57";
}
}
}
Error: Access of undefined property marca. marca = "Fox57"; ^ |
|
|
Veja mais Dicas e truques de ActionScript |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






