Ir para conteúdo
Fórum Script Brasil
  • 0

Membro privado, mas não estático


Rafael Laurindo

Pergunta

Pessoal, deêm uma olhada no script abaixo.

Teste ={ 
     
     cls : function()
     {
         //private static member
         var secret = "initial static private member"

         //private member
         //...

         //public method
         this.changeSecret = function (value){
             secret = value
         }

         this.getSecret = function(){
             return secret
         } 
     },
 }
function teste2()
 {
     var t = new Teste.cls() 
     alert(t.getSecret()) //imprime initial
     t.changeSecret('Rafael')
     alert(t.getSecret()) //imprime Rafael
     new Teste.cls()
     alert(t.getSecret()) //imprime Rafael. Gostaria que imprimisse [i]initial static private member[/i], nesta parte
 }

Como implementar o private member para isso?

Editado por Rafael Laurindo
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

O que acontece no seu código é que você faz uma nova instancia da classe, mas não armazena ela numa variável.

No segundo new Teste.class, essa chamada se perde, você não armazena em nenhuma variável. Depois você pergunta de novo qual o valor da variavel t e recebe claro o mesmo resultado de antes.

Ahh... bota esse class com C maiúsculo, porque .class é palavra reservada no javascript.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...