0% acharam este documento útil (0 voto)
3 visualizações6 páginas

? Guia Rápido de JavaScript e POO

O guia aborda a Programação Orientada a Objetos (POO) em JavaScript, explicando conceitos fundamentais como classes, objetos, herança, encapsulamento, polimorfismo e abstração. Ele fornece exemplos práticos de implementação e destaca a importância da POO para o desenvolvimento de sistemas complexos e escaláveis. Além disso, apresenta boas práticas para programadores que utilizam este paradigma.

Enviado por

Marck Kun
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
3 visualizações6 páginas

? Guia Rápido de JavaScript e POO

O guia aborda a Programação Orientada a Objetos (POO) em JavaScript, explicando conceitos fundamentais como classes, objetos, herança, encapsulamento, polimorfismo e abstração. Ele fornece exemplos práticos de implementação e destaca a importância da POO para o desenvolvimento de sistemas complexos e escaláveis. Além disso, apresenta boas práticas para programadores que utilizam este paradigma.

Enviado por

Marck Kun
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd

📘 Guia Completo de Programação Orientada a Objetos (POO)

em JavaScript

🔹 Introdução à POO

A Programação Orientada a Objetos (POO) é um paradigma que


organiza o código em objetos, que representam entidades do mundo
real. Cada objeto pode ter propriedades (dados) e métodos
(funções que descrevem comportamentos).

A POO permite criar sistemas mais estruturados, reutilizáveis e fáceis


de manter. JavaScript oferece suporte à POO com classes, herança e
encapsulamento.

🔹 Conceitos Fundamentais da POO

1. Classe: modelo ou “molde” que define como criar objetos.

2. Objeto: instância de uma classe, contendo dados e funções.

3. Atributos (ou propriedades): variáveis dentro de um objeto.

4. Métodos: funções que definem o comportamento de um


objeto.

5. Herança: permite que uma classe filha reutilize código de uma


classe pai.

6. Encapsulamento: protege dados e limita o acesso direto às


propriedades.

7. Polimorfismo: objetos diferentes respondem de forma


diferente a métodos com o mesmo nome.

🔹 Criando Classes e Objetos

Exemplo de classe simples:

class Pessoa {

constructor(nome, idade) {

[Link] = nome;

[Link] = idade;

}
saudacao() {

return `Olá, meu nome é ${[Link]} e tenho ${[Link]}


anos.`;

// Criando objeto

const pessoa1 = new Pessoa("João", 25);

[Link]([Link]());

Nesse exemplo, Pessoa é a classe, pessoa1 é um objeto. O método


saudacao pertence ao objeto e acessa os atributos nome e idade.

🔹 Herança de Classes

Herança permite que uma classe reutilize os atributos e métodos de


outra.

class Funcionario extends Pessoa {

constructor(nome, idade, cargo) {

super(nome, idade); // chama o construtor da classe pai

[Link] = cargo;

mostrarCargo() {

return `${[Link]} trabalha como ${[Link]}.`;

const func1 = new Funcionario("Ana", 30, "Engenheira");

[Link]([Link]());

[Link]([Link]());

Aqui, Funcionario herda de Pessoa e adiciona um atributo novo, cargo.


🔹 Encapsulamento e Getters/Setters

Encapsulamento protege os dados internos do objeto. Podemos usar


getters e setters:

class ContaBancaria {

#saldo; // privado

constructor(saldoInicial) {

this.#saldo = saldoInicial;

depositar(valor) {

this.#saldo += valor;

sacar(valor) {

if (valor <= this.#saldo) {

this.#saldo -= valor;

return valor;

} else {

return "Saldo insuficiente";

get saldo() {

return this.#saldo;

const conta = new ContaBancaria(1000);


[Link](500);

[Link]([Link]); // 1500

O # antes do atributo indica que ele é privado e não pode ser


acessado diretamente fora da classe.

🔹 Polimorfismo

Polimorfismo permite que métodos de diferentes objetos com o


mesmo nome se comportem de maneira distinta.

class Animal {

falar() {

return "O animal faz um som.";

class Cachorro extends Animal {

falar() {

return "O cachorro late.";

class Gato extends Animal {

falar() {

return "O gato mia.";

const dog = new Cachorro();

const cat = new Gato();

[Link]([Link]());

[Link]([Link]());
🔹 Abstração

Abstração consiste em focar apenas nos detalhes importantes de um


objeto, escondendo complexidade interna.

Exemplo:

class Veiculo {

constructor(marca, modelo) {

[Link] = marca;

[Link] = modelo;

mover() {

return `${[Link]} ${[Link]} está se movendo.`;

A classe Veiculo abstrai o conceito de movimento, sem expor como o


motor funciona.

🔹 Aplicações práticas da POO

 Sistemas bancários: contas, transações e clientes como


objetos

 Jogos: jogadores, inimigos, armas

 Aplicativos web: usuários, produtos, pedidos

 Simulações: carros, prédios, animais

POO ajuda a criar softwares complexos de forma organizada e


escalável.

🔹 Boas práticas em POO com JavaScript

 Nomear classes com maiúscula inicial (Pessoa, ContaBancaria)

 Manter atributos privados sempre que possível


 Reutilizar código via herança, mas evitar herança excessiva

 Comentar métodos e propriedades

 Testar objetos individualmente

🔹 Conclusão

A Programação Orientada a Objetos em JavaScript é poderosa e


essencial para desenvolvimento de sistemas complexos. Com classes,
herança, encapsulamento, polimorfismo e abstração, é possível criar
aplicações escaláveis, manuteníveis e de alta qualidade. Dominar
POO prepara qualquer desenvolvedor para desafios avançados de
programação web.

Você também pode gostar