segunda-feira, 14 de janeiro de 2019

Dicas de Programação: Métodos públicos e privados em Javascript (1.2)?

Muitos discordam que o antigo Javacript é orientado a objetos (afinal, não tem "class" e tudo é "function").

Bem, não vou entrar na discussão, mas uma das prerrogativas é que ela não tem distinção de "permissões de métodos" e que todos os métodos declarados são públicos.

Mas, por incrível que pareça, existe algo parecido para fazer alguns métodos ficarem restritos internamente a classe/objeto:

var Classe = function() { 
       var privada =  function() {
               document.write("Privada");
       };
      return {
             publica: function() {
                     document.write("Publica");
             },
             acessandoPrivada: function() {
                     document.write("Acessando ");
                     privada();
             }     
      }
};

var objeto  =  new Classe();
if (typeof(objeto.privada)!="undefined") {     
        objeto.privada();
}
if (typeof(objeto.publica)!="undefined") {
        objeto.publica();
}
if (typeof(objeto.acessandoPrivada)!="undefined") {
        objeto.acessandoPrivada();
}

Legal, né? :)

Até mais!

Nenhum comentário: