// módulo poo com java · aula 01
Lógica, projeto
e pilares da POO
Do if ao objeto: a base de tudo que vem pela frente.
// roteiro de hoje
Cinco paradas até o primeiro objeto
Revisão
variáveis, if e laços
Projeto
o que vamos construir
Por que POO
o problema que ela resolve
Classes
molde e objetos
Pilares
visão geral dos quatro
// parte 1
Revisão de lógica
Variáveis, condicionais e laços: as peças que vamos usar dentro dos objetos.
// variáveis
Toda variável tem tipo, nome e valor
String nome = "Ana"; // texto
int idade = 20; // número inteiro
double nota = 8.5; // número com casas decimais
boolean aprovado = true; // verdadeiro ou falso
O tipo diz o que cabe na variável. Em Java, ele não muda depois.
// condicionais
O programa toma decisões com if
double nota = 6.0;
if (nota >= 7) {
System.out.println("Aprovado");
} else if (nota >= 5) {
System.out.println("Recuperação");
} else {
System.out.println("Reprovado");
}
// laços
O for repete sem copiar e colar
double[] notas = {8.5, 6.0, 9.5};
double soma = 0;
for (int i = 0; i < notas.length; i++) {
soma += notas[i];
}
double media = soma / notas.length;
System.out.println("Média: " + media);
// aquecimento · vale XP
O que este código imprime?
for (int i = 0; i < 3; i++) System.out.print(i);
Começa em 0 e para antes de chegar a 3: imprime 0, 1 e 2.
// parte 2
O projeto do curso
Um sistema completo, construído aos poucos, do banco de dados até a API.
// o caminho
Vocês já têm a base. Agora, o sistema
A API que vamos construir guarda os dados no banco que vocês já conhecem do SQL e depois será consumida por um front-end em React.
// parte 3
Por que Orientação a Objetos?
Antes da solução, o problema.
// o problema
Guardar dados de vários carros só com variáveis…
String modelo1 = "Fusca";
String cor1 = "laranja";
int velocidade1 = 0;
String modelo2 = "Uno";
String cor2 = "verde";
int velocidade2 = 0;
// ... e se forem 100 carros? 😵
Dados do mesmo carro ficam espalhados: nada liga cor1 a modelo1.
// a ideia
Juntar dados e comportamento num só lugar
Atributos
O que o objeto tem: modelo, cor, velocidade.
Métodos
O que o objeto faz: acelerar, frear, buzinar.
Programação Orientada a Objetos é modelar o sistema como objetos que conversam entre si.
// parte 4
Classes e objetos
A diferença entre o molde e as coisas feitas com ele.
// imagem mental
Classe é a planta; objeto é a casa construída
- A classe descreve: quais dados e ações existem.
- O objeto é uma cópia concreta, com valores próprios.
- Criamos objetos com
new. - Cada objeto guarda seu próprio estado.
// escrevendo a classe
A classe Carro
public class Carro {
String modelo;
String cor;
int velocidade;
void acelerar() {
velocidade += 10;
}
}
- modelo: String
- cor: String
- velocidade: int
- acelerar()
// criando objetos
Com new, o molde vira objeto
- modelo: String
- cor: String
- velocidade: int
- acelerar()
// usando objetos
Cada objeto tem seu próprio estado
Carro fusca = new Carro();
fusca.modelo = "Fusca";
fusca.cor = "laranja";
Carro uno = new Carro();
uno.modelo = "Uno";
fusca.acelerar();
fusca.acelerar();
Acelerar o fusca não mexe no uno: são objetos diferentes.
// vamos testar · vale XP
Qual frase descreve melhor a relação entre classe e objeto?
Uma classe pode gerar quantos objetos quisermos, cada um com seus próprios valores.
// parte 5
Os quatro pilares
A visão geral de hoje. Cada pilar ganha uma aula própria.
// clique nas cartas
Os quatro pilares da POO
Abstração
Modelar só o que importa. O Carro do sistema não precisa da marca do pneu.
hoje e aula 4
Encapsulamento
Proteger os dados: ninguém põe velocidade negativa.
aula 2
Herança
Moto e Carro herdam de Veiculo.
aula 3
Polimorfismo
Mesma chamada, comportamentos diferentes.
aula 4
// última pergunta · combo!
Qual pilar impede que alguém coloque velocidade = -50 no carro?
Encapsulamento protege os dados do objeto. É o tema da próxima aula.
// resumo
O que levamos de hoje
- ✅ Variáveis,
ifeforcontinuam valendo dentro dos objetos. - ✅ POO junta dados (atributos) e ações (métodos).
- ✅ Classe é o molde; objeto é criado com
new. - ✅ Os 4 pilares: abstração, encapsulamento, herança e polimorfismo.
// desafios para casa
Agora é com você 🚀
- Baixe o código da aula e rode o
Main.java. - Faça os exercícios: média de notas, classe
Livroe classeContaBancaria. - Marque na página da aula cada exercício que resolver e revise os slides: é assim que se ganha XP.
próxima aula · Classes, objetos e encapsulamento
Dúvidas?