Você está aqui: JavaScript ::: Dicas & Truques ::: Programação Orientada a Objetos

Programação Orientada a Objetos em JavaScript - Como declarar e criar novos objetos usando a notação de função

Quantidade de visualizações: 1688 vezes
Embora o ECMAScript 2015 (também conhecido como ECMAScript 6 ou ES6) tenha incluído a palavra-chave class para permitir a declaração de classes JavaScript no estilo Java e C++, é comum encontrarmos códigos antigos (e até mesmo sendo desevolvidos) que ainda usam a notação de função. Sim, é possível usar new para criar um objeto a partir de uma função.

Vamos ver como isso é possível? Comece analisando o seguinte código:

<html>
<head>
<title>Estudando JavaScript</title>
</head>
<body>
 
<script type="text/javascript">
  // declara uma "classe" Produto
  function Produto(){
    this.nome;
    this.preco;

    // método que permite definir o nome
    this.setNome = function(nome){
      this.nome = nome;
    }

    // método que permite definir o preço
    this.setPreco = function(preco){
      this.preco = preco;
    }

    // método que permite obter o nome
    this.getNome = function(){
      return this.nome;
    }

    // método que permite obter o preço
    this.getPreco = function(){
      return this.preco;
    }     
  }

  // vamos criar um novo objeto Produto
  var p = new Produto();
  p.setNome("Notebook AGT 250");
  p.setPreco(2400);
  document.writeln("Nome: " + p.getNome());
  document.writeln("<br>Preço: " + p.getPreco());
</script>
 
</body>
</html>

Veja que aqui nós criamos uma "classe" com o nome de Produto, que possui dois atributos: nome e preco. Ela possui também quatro métodos: setNome(), setPreco(), getNome() e getPreco(). O fato de eu ter colocado classe entre aspas, é porque estamos na verdade criando funções, simulando o comportamento da palavra-chave class ES6.

Ao executarmos este código nós teremos o seguinte resultado:

Nome: Notebook AGT 250
Preço: 2400

E agora a notícia mais importante. Quando estamos criando classes JavaScript como objetos de função, nós não estamos limitados à criação de apenas um objeto (como ocorre na criação de classes usando a notação de objeto). Usando a notação de funções, nós podemos criar quantos objetos quisermos. Veja, por exemplo, como criar dois produtos (que possuem a mesma estrutura e comportamento da classe Produto, porém, com atributos diferentes):

<html>
<head>
<title>Estudando JavaScript</title>
</head>
<body>
 
<script type="text/javascript">
  // declara uma "classe" Produto
  function Produto(){
    this.nome;
    this.preco;

    // método que permite definir o nome
    this.setNome = function(nome){
      this.nome = nome;
    }

    // método que permite definir o preço
    this.setPreco = function(preco){
      this.preco = preco;
    }

    // método que permite obter o nome
    this.getNome = function(){
      return this.nome;
    }

    // método que permite obter o preço
    this.getPreco = function(){
      return this.preco;
    }     
  }

  // vamos criar um novo objeto Produto
  var p = new Produto();
  p.setNome("Notebook AGT 250");
  p.setPreco(2400);
  document.writeln("Nome: " + p.getNome());
  document.writeln("<br>Preço: " + p.getPreco());

  // vamos criar mais um objeto Produto
  var p2 = new Produto();
  p2.setNome("Impressora LX");
  p2.setPreco(654.70);
  document.writeln("<br><br>Nome: " + p2.getNome());
  document.writeln("<br>Preço: " + p2.getPreco());
</script>
 
</body>
</html>


Ao executar o código novamente nós teremos o seguinte resultado:

Nome: Notebook AGT 250
Preço: 2400

Nome: Impressora LX
Preço: 654.7

Link para compartilhar na Internet ou com seus amigos:

Desafios, Exercícios e Algoritmos Resolvidos de JavaScript

Veja mais Dicas e truques de JavaScript

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 32 usuários muito felizes estudando em nosso site.