In Javascript, Programação

Orientação a objetos em Javascript

Posted June 4th, 2008 by Rodrigo Lazoti.

Embora a maioria dos scripts feitos em Javascript seja feito utilizando utilizando programação estruturada, também pode-se utilizar os conceitos de orientação a objetos em Javascript.

Para exemplificar, irei me basear em uma classe chama Pessoa com atributos nome, idade e email, seus métodos getters e setters e um método chamado mostraValores que irá retorna uma string com os valores dos atributos da classe.

Veja o exemplo no código a seguir:

<script language="javascript">

  function Pessoa() {
    var nome;
    var idade;
    var email;

    this.getNome = getNome;
    this.getIdade = getIdade;
    this.getEmail = getEmail;
    this.setNome = setNome;
    this.setIdade = setIdade;
    this.setEmail = setEmail;
    this.mostraValores = mostraValores;

    function getNome() {
      return nome;
    }

    function getIdade() {
      return idade;
    }

    function getEmail() {
      return email;
    }

    function setNome(_nome) {
      nome = _nome;
    }

    function setIdade(_idade) {
      idade = _idade;
    }

    function setEmail(_email) {
      email = _email;
    }

    function mostraValores() {
      return 'Nome: ' + nome +'nIdade: '+ idade +' anosnEmail: '+ email;
    }
  }
</script>

Agora vamos criar um javascript para manipular a “classe” Pessoa.

<script language="javascript">

  var rodrigo = new Pessoa();

  rodrigo.setNome('Rodrigo Lazoti');
  rodrigo.setIdade(26);
  rodrigo.setEmail('rodrigo@test.com');

  alert(rodrigo.mostraValores());

</script>

E com isso já temos um pequeno exemplo de uma forma de como utilizar orientação a objetos com Javascript.

Related Posts

  1. Framework javascript Extjs em páginas jsp com tags tld
  2. Autenticação com Jboss Seam

6 responses to Orientação a objetos em Javascript

  1. Phillip Calçado "Shoes" says:

    Você não precisa *simular* Orientação a Objetos em JavaScript, JavaScript *é* uma linguagem OO. O que pode ter confundido é o fato que ela usa protótipos e não classes. Classes não são necessárias para OO.

    []s

  2. Rodrigo Lazoti says:

    Phillip, concordo com o que disse, realmente o título do post ficou estranho passando uma mensagem incoerente sobre JS, por isso resolvi alterá-lo. Obrigado pela dica.

    []s

  3. Bruno Pereira de Almeida says:

    Muitlo legal usar o java script assim.
    O problema é quando voce quer atribuir algum comando html à chamada de um metodo.
    Exemplo: <input type=’button’ onClick=”rodrigo.mostraValores();”….
    Aparentemente ele acha que “rodrigo” é uma propriedade interna do objeto button, e retorna um erro por essa propriedade não existir.
    Bom pelo menos é o que aconteceu comigo (IE7)

  4. Cid R Andrade says:

    Bruno, o ideal é não utilizar a chamada de Javascript dentro de uma tag, mas usar as técnicas de javascript não-obstrutivo.
    E temos outras formas de usar orientação a objetos em javascript, como estas aqui: http://blog.cidandrade.pro.br/javascript/orientacao-a-objetos-em-javacript/

  5. Igor Musardo » Orientação a Objetos com Javascript says:

    [...] Orientação a objetos em Javascript [...]

  6. julio cesar says:

    ola bom dia bom pessoal eu nao sei se aqui é olugara de tirara duvidas ou coisa tal..mas estou com um duvida tremenda falei numa aulda de ja ele me pediu para fazer um programa em Implemente uma classe Pessoa com os seguintes atributos: Nome, idade e CPF. e depois fazer Utilizando a classe implementada no exercício anterior crie um programa que
    instancie 2 pessoas com todos os atributos e imprima os valores. Você poderia me da uma forlça pra fazer esse programa.

Leave a response: