POO
O que é POO?
POO (Programação Orientada a Objetos) é um paradigma de programação que busca utilizar objetos para representar coisas do mundo real dentro de um programa, facilitando o entendimento e acesso a funcionalidades do código.
Um dos exemplos mais utilizados para demostrar conceitos de POO é modelar a classe Pessoa.
O que é uma classe?
Classe é como uma planta arquitetônica, assim como podemos construir diferentes casas utilizando uma mesma planta, com uma classe podemos instanciar vários objetos de Pessoa seguindo uma estrutura básica predefinida.
No Javascript podemos definir uma classe da seguinte forma:
class Pessoa {
constructor(nome, idade) {
this.nome = nome;
this.idade = idade;
}
seApresentar() {
console.log(`Olá, meu nome é ${this.nome}.`);
}
}Agora que temos uma classe Pessoa podemos instanciar (criar) objetos a partir dela.
Princípios de POO
Encapsulamento
Encapsulamento consiste em esconder informações que não devem ser acessadas de forma direta mas sim por meio de funções auxiliares que definem regras de como essa informação deve ser manipulada e visualizada.
No exemplo acima é possível notar o uso do carácter _ como prefixo do nome das variáveis nome e idade. É convencionado que variáveis que começam com o underline são consideradas privadas, isto é, não devem ser acessadas diretamente pelo programador, apenas pelo uso dos setters e getters.
Abstração
Abstração significa esconder detalhes de implementação, mostrando apenas o essencial para o mundo externo ao objeto.
Herança
Muitas vezes os objetos acabam sendo bem similares, compartilhando uma lógica comum, porém sem serem exatamente iguais. Uma forma de reutilizar essa lógica comum, extraindo a lógica única para uma classe à parte, é chama de herança. Esse processo consiste em criar uma classe filha que deriva de uma classe pai.
Polimorfismo
O termo polimorfismo é originário do grego e significa "muitas formas" (poli = muitas, morphos = formas). Em POO, isso ocorre quando diferentes objetos chamam o mesmo método e recebem respostas adequadas ao contexto de cada um.
Last updated
Was this helpful?