Skip to main content

šŸ“˜ 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.


šŸ“š ExercĆ­cios de Fixação​