POO — Introdução
Os quatro pilares da programação orientada a objetos
A Programação Orientada a Objetos (POO) organiza o código em torno de objetos — entidades que possuem estado (atributos) e comportamento (métodos). Em vez de pensar em funções soltas, você modela o mundo real: um Carro tem velocidade e pode acelerar, uma ContaBancaria tem saldo e pode sacar.
Os quatro pilares da POO são: Encapsulamento (esconder detalhes internos e expor apenas o necessário), Herança (reutilizar código de classes pai), Polimorfismo (um mesmo método se comporta de formas diferentes dependendo do objeto) e Abstração (representar conceitos do mundo real simplificando a complexidade).
Java é fortemente orientado a objetos — qualquer código que você escreve está dentro de uma classe. O operador new cria uma instância (objeto) a partir de uma classe (molde). Cada objeto tem sua própria cópia dos atributos, mas compartilha a definição dos métodos.
// Classe = molde (blueprint)
public class Carro {
// Atributos: armazenam o estado do objeto
String marca;
int ano;
double velocidade;
// Construtor: chamado ao criar o objeto
public Carro(String marca, int ano) {
this.marca = marca;
this.ano = ano;
this.velocidade = 0;
}
// Métodos: definem o comportamento
public void acelerar(double km) {
velocidade += km;
System.out.println(marca + " → " + velocidade + " km/h");
}
public void frear() {
velocidade = 0;
System.out.println(marca + " parou.");
}
}
// Criando objetos (instâncias) da classe
Carro carro1 = new Carro("Toyota", 2023);
Carro carro2 = new Carro("Honda", 2022);
carro1.acelerar(60); // Toyota → 60.0 km/h
carro1.acelerar(40); // Toyota → 100.0 km/h
carro2.acelerar(80); // Honda → 80.0 km/h
// carro1 e carro2 são objetos independentesPense em classes como plantas arquitetônicas e objetos como os prédios construídos a partir delas. Você pode construir vários prédios com a mesma planta, cada um com suas próprias características.