Em tópicos anteriores, foram apresentados tipos de dados para armazenar valores simples, listas de valores (e outros dados) e mapas, que associam valores a chaves de acesso não numéricas.
Existe outro tipo de dado, que já foi mencionado anteriormente, mas não foi explicado em detalhe - os objetos. Um objeto permite agrupar em uma variável diversos dados, e mesmo funções, cada um deles com seu próprio nome, mas vinculados ao objeto. Este tipo de dado é utilizado em um paradigma de desenvolvimento chamado programação orientada a objetos. Neste paradigma, o mundo externo é representado a partir de modelos de objetos reais, que têm atributos e métodos.
var produto = {tipo: 'queijo',
marca: 'Boa Vista';
preco: 12.00;
validade: '10/11/2022'};
Para declarar um objeto, utilizamos um par de chaves. Para cada atributo, temos o nome seguido de ':' e do valor para o mesmo. Cada par nome: valor é separado do seguinte por vírgula.
Já sabemos declarar os atributos do nosso produto. Agora, vamos definir métodos:
this.preco = novoPreco;
}
produto.aplicarDesconto = function (desconto) {
this.preco = this.preco * desconto;
}
Notou a semelhança com a declaração de uma função? A única diferença é que na declaração do método, o nome vem antes da palavra reservada function. No bloco de comandos surgiu uma outra palavra reservada: this, utilizada para se referir a atributos ou métodos do objeto. Assim, se você quiser saber a marca do produto no seu programa principal, você vai utilizar produto.marca, mas dentro de um método do próprio objeto, você vai utilizar this.marca.
Seu mercado não vai ter um único produto. Para desenvolver seu aplicativo, você precisa de uma forma de criar vários produtos com os mesmos nomes de atributos e valores diferentes. Para definir as características comuns de uma classe de objetos no seu programa, você pode utilizar a declaração abaixo:
constructor(t, m, p, v) {
this.tipo = t;
this.marca = m;
this.preco = p;
this.validade = v;
}
remarcarPreco(novoPreco) {
this.preco = novoPreco;
}
aplicarDesconto(desconto) {
this.preco = this.preco * desconto;
}
}
O método constructor é obrigatório na declaração de uma classe. Ele pode ser visto como a "fábrica" de objetos desta classe, que vai determinar as características comuns destes objetos. No bloco de comandos do constructor você atribui valores aos atributos do objeto. Para declarar outros métodos, não é usada a palavra reservada function. Basta o nome de cada método seguido dos parâmetros e do bloco de comandos correspondente.
Agora que tem sua "fábrica" de produtos, você pode começar a criar produtos para o seu mercado:
Voltar ao Sumário (Javascript)
Nenhum comentário:
Postar um comentário