Tableless

Busca Menu

Introdução à programação orientada a objetos em Javascript

Seja o primeiro a comentar por

Para quem já programa em alguma linguagem de programação (Java, PHP, C#), com certeza já ouviu falar no conceito de orientação à objetos. Apesar do conceito abordar o mesmo assunto (encapsulamento de variáveis, atributos e métodos de uma classe), o mesmo pode ser abordado de forma diferente, dependendo da linguagem utilizada.

Em Javascript, existem diferentes maneiras e métodos para aplicar este conceito de programação (uso de Prototypes, heranças de classe, etc), mas para entendermos melhor o conceito de orientação a objetos, vamos criar uma classe bem simples para mostrar como o conceito pode ser aplicado.

Na maioria das linguagens de programação, a conotação de classe e função (ou método), se diferencia como classe NomeDaClasse {} e function nomeDaFuncao(){}, geralmente utilizando-se do padrão CamelCase.

Em Javascript, tanto classes como métodos utilizam a conotação function (function NomeDaClasse(){} e function nomeDaFuncao(){}).

Criando a Classe

Vamos criar uma classe simples chamada “Aluno”, onde vamos registrar algumas informações como o nome do aluno, a idade e o curso.

function Aluno () {
 var nome;
 var idade;
 var curso;
}

Logo abaixo das declarações das variáveis da classe, vamos criar alguns métodos para “setar” e “pegar” as variáveis:

  this.setNome = function (vNome) {
    this.nome = vNome;
  }

  this.setIdade = function (vIdade) {
    this.idade = vIdade;
  }

  this.setCurso = function (vCurso) {
    this.curso = vCurso;
  }

  this.getNome = function () {
    return this.nome;
  }

  this.getIdade = function () {
    return this.idade;
  }

  this.getCurso = function () {
    return this.curso;
  }

Verifique que utilizamos o “this” para referenciarmos objetos/variáveis da própria classe, já os parâmetros em cada método “set”, refere-se apenas ao parâmetro passado ao método para atribuição da variável.

Por último, vamos criar um método para mostrar os parâmetros que usamos em nossas variáveis:

  this.mostraDados = function () {
    alert("Nome do aluno: " + this.nome + "\nIdade: " + this.idade + "\nCurso: " + this.curso);
  }

Com a nossa classe pronta, agora podemos criar um novo objeto, instanciando a classe para usarmos seus métodos:

var Aluno = new Aluno();

Aluno.setNome("Henrique");
Aluno.setIdade("25");
Aluno.setCurso("Introdução à programação orientada a objetos em Javascript");
Aluno.mostraDados();

Aqui está um exemplo de nossa classe funcionando. Coloque seus próprios dados e veja o resultado.

A nossa classe completa ficou assim:

function Aluno () {
 var nome;
 var idade;
 var curso;

  this.setNome = function (vNome) {
    this.nome = vNome;
  }

  this.setIdade = function (vIdade) {
    this.idade = vIdade;
  }

  this.setCurso = function (vCurso) {
    this.curso = vCurso;
  }

  this.getNome = function () {
    return this.nome;
  }

  this.getIdade = function () {
    return this.idade;
  }

  this.getCurso = function () {
    return this.curso;
  }

  this.mostraDados = function () {
    alert("Nome do aluno: " + this.nome + "\nIdade: " + this.idade + "\nCurso: " + this.curso);
  }
}

Espero que este artigo ajude a entender o princípio de orientação à objetos em javascript para quem está começando e quer ter uma noção de como começar.
Não deixe de comentar e deixar suas opiniões e dúvidas.

Publicado no dia