Você está na página 1de 4

Classe, na maioria das linguagens de programao, uma estrutura que descreve estados e comportamentos de um determinado objeto.

. Cada linguagem tem a sua forma de descrever essa estrutura, em geral com a palavra chave class.
A classe MinhaClasse ter um atributo e um mtodo pblico e um atributo e um mtodo privado, apenas para demonstrar a diferena de visibilidade entre os membros da classe.
1: var MinhaClasse = function() { 2: var propriedadePrivada = "Privado"; 3: var metodoPrivado = function() { 4: w(propriedadePrivada); 5: } 6: 7: this.propriedadePublica = "Pblico"; 8: this.metodoPublico = function() { 9: w(this.propriedadePublica); 10: } 11: }

Mtodo caractersticas das variveis. mtodo privado no JavaScript voc declara o mtodo ou o atributo com a palavra chave var. Para tornar um atributo ou mtodo pblico utilizado a palavra chave this.

comum precisarmos de mtodos estticos em classes. No JavaScript isso bem simples:


1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: var MinhaClasse = function() { var propriedadePrivada = "Privado"; var metodoPrivado = function() { w(propriedadePrivada); } this.propriedadePublica = "Pblico"; this.metodoPublico = function() { w(this.propriedadePublica); br(); metodoPrivado(); } } //Definindo mtodo esttico MinhaClasse.metodoEstatico = function() { w("Mtodo Esttico"); }

Veja que estou apenas adicionando o mtodo fora do corpo da classe.Isso torna o mtodo esttico. quase como criar uma classe, com a diferena que voc no define membros ao mtodo, caso contrrio ele transformaria em uma sub-classe (que tambm pode ser uma opo). A utilizao do mtodo esttico seria assim:

O Polimorfismo (Existncia de uma espcie sob vrias formas) um artefato simples mas seu entendimento muito importante na orientao a objetos. Quando falamos em polimorfismo em OO, queremos dizer que podemos derivar classes de uma mesma superclasse e utilizar mtodos iguais, porm com comportamentos diferentes. Veja o exemplo: Arquivo Calculo1.php 1 class Calculo1{ 2 3 4 5 6 7 8} Arquivo Calculo2.php 1 require_once "Calculo1.php"; 2 3 4 5 6 7 8 9 10 } } public function somar(){ return $this->resposta = 1+1; class Calculo2 extends Calculo1{ public $resposta; } public function dividir(){ return $this->resposta = 10/2; public $resposta;

ENCAPSULAMENTO
No h ainda suporte a encapsulamento no javascript, porm poderemos simular utilzando o escopo. Observem o exemplo: ? 1 function animal() 2 { 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19}; 20 21var cavalo = new animal; 22 23// le propriedade publica do objeto 24alert(cavalo.olhos); // alerta -> 2 25alert(cavalo.orelhas); // alerta -> 2 26 27// le propriedade privada do objeto 28alert(cavalo.privada_variavel); // alerta -> undefined } //mtodo privado var privado_metodo = function() { alert(); } //mtodo pblico this.emitir_som = function(som) { alert(som); // propriedades privadas var privada_variavel = "azul"; // propriedades pblicas this.orelhas = 2; this.olhos = 2;

29 30// invoca mtodo pblico do objeto 31cavalo.emitir_som("innhornhornhorn"); // alerta innhornhornhorn 32 33// invoca mtodo privado do objeto 34cavalo.privado_metodo(); // retornar erro