DEV Community

Alex Reis
Alex Reis

Posted on

Entendendo os pilares da Programação Orientada a Objetos

A Programação Orientada a Objetos possui quatro pilares, os quais são princípios de design de software usados para escrever um código mais limpo e orientado a objetos. São eles:

  • Abstração
  • Encapsulamento
  • Herança
  • Polimorfismo Vamos conhecer cada um deles.

Abstração

Abstrair algo significa esconder os detalhes da implementação dentro de algo - às vezes um protótipo, às vezes em uma função. Num código abstraído você não precisa se preocupar com o passo a passo da implementação.

Um exemplo claro do conceito de abstração seria o funcionamento de um carro. Quando acionamos ele para ligar, não precisamos saber quais passos ele faz para colocar o motor em funcionamento.

Criar a abstração de um objeto do mundo real seria tomar suas caracteristicas mais relevantes e não se preocupar tanto com seus detalhes.

Abstração, portanto, é encontrar coisas semelhantes em seu código e fornecer uma função ou objeto geneŕico e servir em vários lugares/com vários propósitos.

Encapsulamento

Encapsulamento significa que o código de cada objeto deve controlar apenas seu próprio estado.
Todas as chaves e métodos (funções) de um objeto são suas propriedades. Se você redefinir ou excluir uma chave, por exemplo, estará alterando o seu estado.

Por isso, é importante limitar o acesso de quais partes do código podem ser acessadas.

O objetivo é esconder os dados em um lugar onde não precise de acesso e expor os dados de modo claro onde for necessário.

O encapsulamento metaforicamente seria uma casca de noz. Vinculando seus dados a algo, seja uma classe, objeto, módulo ou função, e fazendo o possível para mantê-lo o mais privado possível.

Herança

Herança é um conceito que permite uma classe poder herdar métodos e atributos de outra classe. O principal benefício é a reutilização de código.

Sempre que usamos herança tentamos fazer com o pai e o filho tenham alta coesão. Coesão é o quanto seu código está relacionado.

Mantenha sua herança simples e previsível de entender. Ao usar herança, ela precisa ter a maior parte das funcionalidades (você nem sempre precisa ter absolutamente tudo).

Polimorfismo

Polimorfismo é a condição de "ocorrer de várias formas diferentes".

Se você usou herança corretamente, agora tanto pais quanto filhos podem ser usados de maneira confiável. Cada filho que estende o pai pode substituir o comportamento do pai por um comportamento mais específico.

O verdadeiro poder do polimorfismo é poder compartilhar comportamentos e permitir substituições personalizadas.

Conclusão

Espero que assim tenha ficado entendido quais são os pilares da orientação a objetos e que seu uso correto torna o código mais elegante e robusto.

Referência

Os quatro pilares da Programação Orientada a Objetos - com JavaScript

Top comments (0)