Programação orientada à objetos: O guia definitivo para iniciantes
- #JavaScript
- #POO
O que é programação orientada a objetos
Programação Orientada a Objetos (POO) é como brincar com bonecos de ação. Cada boneco (objeto) tem suas próprias características e habilidades. Em vez de escrever uma longa história, você cria pequenos personagens que interagem entre si.
Exemplos de linguagens em POO:
- JavaScript
- Java
- Python
- C++.
O que são um Objeto e uma Classe
Classe: Imagine a classe como uma receita de bolo. Ela diz o que você precisa e como fazer o bolo.
Objeto: O objeto é o bolo que você fez seguindo a receita. Cada bolo pode ser um pouco diferente, mas todos vêm da mesma receita.
O que compõe um objeto
Um objeto é como um carro de brinquedo. Ele tem atributos (como cor e tamanho) e métodos (como mover-se para frente ou buzinar). Por exemplo, um objeto "Carro" pode ter um atributo cor e um método acelerar().
Como usar uma classe em um objeto
Para criar um objeto a partir de uma classe em JavaScript, você usa a palavra new. Veja o exemplo:
class Carro {
constructor(cor) {
this.cor = cor;
}
acelerar() {
console.log('Vrum Vrum!');
}
}
const meuCarro = new Carro('vermelho');
meuCarro.acelerar(); // Saída: Vrum Vrum!
Os quatro pilares
POO tem quatro pilares principais que fazem tudo funcionar como mágica:
- Abstração
- Encapsulamento
- Herança
- Polimorfismo
Abstração
Abstração é como desenhar um super-herói. Você só desenha as partes mais importantes, como a capa e o símbolo no peito, sem se preocupar com todos os detalhes.
class Carro {
constructor(modelo) {
this.modelo = modelo;
}
dirigir() {
console.log('Vrum Vrum!');
}
}
Encapsulamento
Encapsulamento é como um cofre. Você guarda suas coisas preciosas (dados) dentro dele e só abre com a chave (métodos). Isso protege os dados de mudanças inesperadas.
class ContaBancaria {
constructor(saldo) {
this._saldo = saldo; // O "_" indica que é privado
}
depositar(valor) {
this._saldo += valor;
}
verSaldo() {
return this._saldo;
}
}
const minhaConta = new ContaBancaria(100);
minhaConta.depositar(50);
console.log(minhaConta.verSaldo()); // Saída: 150
Herança
Herança é como você herdar características dos seus pais. Em POO, uma classe pode herdar atributos e métodos de outra classe.
class Animal {
dormir() {
console.log('Zzz...');
}
}
class Cachorro extends Animal {
latir() {
console.log('Au Au!');
}
}
const meuCachorro = new Cachorro();
meuCachorro.dormir(); // Saída: Zzz...
meuCachorro.latir(); // Saída: Au Au!
Polimorfismo
Polimorfismo é como um camaleão que muda de cor. Objetos podem se comportar de maneiras diferentes, mesmo que compartilhem o mesmo nome de método.
class Passaro {
emitirSom() {
console.log('Piu Piu!');
}
}
class Gato {
emitirSom() {
console.log('Miau!');
}
}
const meuPassaro = new Passaro();
const meuGato = new Gato();
meuPassaro.emitirSom(); // Saída: Piu Piu!
meuGato.emitirSom(); // Saída: Miau!
Conclusão
Gostou do artigo? Ele foi gerado por inteligencia artificial, mas revisado por humano. Me Siga no Linkedin.
Fontes de Produção
- Ilustrações de capa gerada pela lexica.art
- Conteúdo gerado pelo ChatGPT e revisão humana
#Programação #Tecnologia #Desenvolvimento