Cheat Sheet POO (Java) - Página 1

Cheat Sheet — POO (Java)

Formato A5 • 2 páginas — Português

Conceitos Fundamentais

Classe: molde para criar objetos.

public class Pessoa { /* atributos e métodos */ }

Objeto (Instância): entidade criada a partir da classe.

Pessoa p1 = new Pessoa();

Atributo: estado do objeto.

private String nome; private int idade;

Método: comportamento do objeto.

public void exibir() { System.out.println(nome); }

Construtor: inicializa o objeto ao criar (mesmo nome da classe).

public Livro(String titulo) { this.titulo = titulo; }
TermoO que fazExemplo
ClasseMoldepublic class Pessoa { ... }
ObjetoInstânciaPessoa p = new Pessoa();
AtributoDadosprivate String nome;
MétodoComportamentopublic void falar() { ... }

Encapsulamento

O que é: Ocultar detalhes internos (atributos) e expor acesso controlado via métodos públicos.

Modificador: private (restringe o acesso à própria classe).

Getter (leitura)

public String getNome() { return this.nome; }

Setter (escrita) — idealmente com validação

public void setNome(String nome) { this.nome = nome; }

Herança

O que é: Reaproveitamento de código. Subclasse herda atributos e métodos da superclasse.

Relação: "É UM" (ex.: Cachorro é um Animal).

Palavra-chave: extends

public class Carro extends Veiculo { /* ... */ }

Nota: Java permite herança simples de classes (sem herança múltipla de classes).

Cheat Sheet POO (Java) - Página 2

Polimorfismo

O que é: "Muitas formas" — capacidade de um objeto ser tratado como sua superclasse, mas executar comportamento da sua própria classe.

// 'v' é do tipo Veiculo, mas o objeto é um Carro Veiculo v = new Carro(); v.mover(); // Executa o mover() de Carro

Abstração

O que é: Focar no "o que" o objeto faz, escondendo o "como". Implementada via classes abstratas e interfaces.

Classe Abstrata

public abstract class Veiculo { public abstract void mover(); // Subclasse DEVE implementar }

Interface

public interface Operavel { void ligar(); void desligar(); }
ItemClasse AbstrataInterface
InstanciaçãoNão pode ser instanciadaNão pode ser instanciada
MembrosPode ter atributos e métodos com implementaçãoMétodos (geralmente abstratos) e constantes
Herança/Implementaçãoextends (1 classe)implements (várias interfaces)

Métodos: Sobrecarga vs Sobrescrita

Sobrecarga (Overload): Mesma classe, mesmo nome, parâmetros diferentes.

class Calc { int somar(int a, int b) { ... } int somar(int a, int b, int c) { ... } double somar(double a, double b) { ... } }

Sobrescrita (Override): Subclasse redefine método da superclasse com a mesma assinatura. Use @Override.

class Animal { public void falar() { System.out.println("Som"); } } class Cachorro extends Animal { @Override public void falar() { System.out.println("Latido"); } }

Palavras-Chave Essenciais

PalavraFunçãoExemplo
newInstanciaPessoa p = new Pessoa();
thisReferência à instância atualthis.nome = nome;
superAcesso à superclassesuper(); super.metodo();
staticMembro da classe (compartilhado)static int contador;
finalConstante / impede sobrescrita/herançafinal int X = 10;
instanceofVerifica tipo em tempo de execuçãoif (a instanceof Cachorro) { ... }
toString()Representação textual do objeto@Override public String toString() { ... }

Relacionamentos entre Classes

Herança ("É UM"): Cachorro é um Animal. Usa extends.

Associação ("TEM UM"): Uma classe usa outra como referência (ex.: Carro tem um Motor).

Agregação/Composição: Uma classe contém outra; composição implica dependência forte (ex.: Empresa tem List<Funcionario>).