Programação Orientada a Objetos (POO)
A Programação Orientada a Objetos (POO) é um paradigma de programação baseado no conceito de “objetos”, que podem conter atributos e métodos.
Classes e Objetos
- Classe: É o “molde” ou a “planta de engenharia” de algo. Ela define quais atributos (características) e métodos (comportamentos) aquilo terá.
- Objeto: É a “instância” real da classe. É quando você pega o molde e cria algo concreto na memória.
Os 4 Pilares
O que realmente define se uma linguagem ou código é orientado a objetos são estes quatro conceitos:
1. Abstração
Consiste em isolar e extrair apenas as características essenciais de um objeto do mundo real para o sistema, esquecendo detalhes irrelevantes.
2. Encapsulamento
É a técnica de “esconder” os detalhes internos do funcionamento de um objeto e proteger seus dados de acessos indevidos. O mundo exterior só interage com o objeto através de uma interface pública (métodos).
3. Herança
Permite que uma nova classe (classe filha ou subclasse) herde os atributos e métodos de uma classe existente (classe mãe ou superclasse). Isso evita a repetição de código e cria uma hierarquia lógica.
4. Polimorfismo
Significa “muitas formas”. É a capacidade de objetos de classes diferentes (mas que herdam da mesma superclasse) responderem à mesma mensagem (chamada de método) de maneiras diferentes.