š Orientação a Objetos (Declaração e Uso)
Introduçãoā
Observe o seguinte código de exemplo relativo à declaração de classes e sua utilização em JavaScript.
š» Código Completoā
Arquivo: Pessoa.js
01 // Arquivo criado em projeto no www.stackblitz.com denominado Pessoa.js
02 // Arquivo criado dentro da pasta "objetos" do projeto
03 // não deve executar o arquivo diretamente com node
04 class Pessoa {
05 constructor(peso, altura) {
06 this.peso = peso;
07 this.altura = altura;
08 }
09 imc() { // Ćndice de massa corpórea
10 let imc = this.peso / (this.altura * this.altura);
11 return imc;
12 }
13 }
14 module.exports = Pessoa;
š ComentĆ”rios e ExplicaƧƵes Linha a Linhaā
Linhas 01--03ā
Os comentÔrios apresentam o nome do arquivo, sua localização no projeto e informam que a classe não deve ser executada diretamente pelo Node.js.
Linha 04ā
Declara a classe Pessoa.
Linhas 05--08ā
Declara o construtor da classe, responsƔvel por inicializar os atributos
peso e altura utilizando a palavra-chave this.
Linhas 09--12ā
Declara o mĆ©todo imc(), responsĆ”vel por calcular o Ćndice de Massa
Corporal (IMC) utilizando a fórmula:
IMC = peso Ć· (altura Ć altura)
O resultado é retornado pela instrução return.
Linhas 13--14ā
Encerra a definição da classe e exporta a classe Pessoa utilizando
module.exports.
š» Código Completoā
Arquivo: usaPessoa.js
01 // Arquivo criado em projeto no www.stackblitz.com denominado usaPessoa.js
02 // Para executar utilize: node ./objetos/usaPessoa.js
03 const Pessoa = require('./Pessoa.js');
04 const joao = new Pessoa(80, 1.75);
05 console.log(joao.imc());
06 const pedro = new Pessoa();
07 pedro.peso = 100;
08 pedro.altura = 1.6;
09 console.log(pedro.imc());
š ComentĆ”rios e ExplicaƧƵes Linha a Linhaā
Linhas 01--02ā
Apresentam informaƧƵes sobre o arquivo e o comando utilizado para executƔ-lo.
Linha 03ā
Importa a classe Pessoa utilizando a função require().
Linhas 04--05ā
Cria o objeto joao, inicializa seus atributos pelo construtor e exibe
o IMC calculado.
Linhas 06--08ā
Cria o objeto pedro e define seus atributos diretamente.
Linha 09ā
Calcula e exibe o IMC do objeto pedro.
š Conceitos-Chave Envolvidosā
Conceito Explicação
class Estrutura para criação de objetos constructor Inicializa atributos da classe this Referência ao objeto atual Método Função associada a uma classe module.exports Exportação de classe require() Importação de módulo new Criação de instância (objeto) Propriedades Atributos do objeto
š” Dicas do Professorā
- Classes iniciam com letra maiĆŗscula (
Pessoa). - Objetos iniciam com letra minĆŗscula (
joao,pedro). - Prefira encapsular comportamentos em mƩtodos.
- Evite acessar atributos diretamente sem validação em projetos maiores.