🚀 Capítulo 04: Blocos de Construção (Tema: Lego)
NOTE
Este capítulo utiliza a temática de Lego para explicar os conceitos básicos de Orientação a Objetos: Classes, Objetos, Atributos e Métodos.
1. 🎯 Objetivo da Aula
Compreender o conceito de Orientação a Objetos (POO) em Java, a diferença entre uma Classe e um Objeto, e como definir características (Atributos) e ações (Métodos).
2. 🏢 O Cenário Prático (Seu Desafio)
Imagine que você comprou uma caixa de Lego para montar um “Carro de Corrida”. Dentro da caixa vem um livro de manual de instruções. O manual não é o carro de verdade; ele apenas diz quais peças usar e como encaixar. Você segue o manual e monta um carro azul. Depois, você usa o mesmo manual e monta outro carro igualzinho, mas vermelho!
No Java, nós usamos o conceito de Orientação a Objetos para organizar o nosso código imitando o mundo real!
- A Classe é o manual de instruções (o molde).
- O Objeto é o carro de verdade que você montou a partir do molde.
- As características do carro (cor, velocidade máxima) são os Atributos.
- As ações que o carro pode fazer (acelerar, buzinar) são os Métodos. Seu desafio é criar o seu molde de Lego!
🧠 Fundamentos: A Teoria Traduzida
📄 1. Criando a Classe (O Molde):
Usamos a palavra-chave class e definimos as variáveis (atributos) e as funções (métodos) lá dentro.
public class Carro {
// Atributos (Características)
String cor;
String modelo;
// Método (Ação)
void buzinar() {
System.out.println("FON FON!");
}
}🧱 2. Criando o Objeto (A Instância):
Para criar um objeto de verdade a partir da classe, nós usamos a palavra-chave mágica new dentro da função main!
public class Main {
public static void main(String[] args) {
// Criando o objeto 'meuCarro' a partir da classe 'Carro'
Carro meuCarro = new Carro();
// Dando valores aos atributos
meuCarro.cor = "Azul";
meuCarro.modelo = "Esportivo";
// Chamando o método
meuCarro.buzinar();
}
}4. 📖 Exemplo Guiado: O Boneco de Lego
Vamos criar uma classe para representar um personagem de Lego:
public class Personagem {
String nome;
String profissao;
void falar() {
System.out.println("Olá, eu sou o " + nome + " e sou um " + profissao + " de Lego!");
}
}
// Para testar:
// Personagem p = new Personagem();
// p.nome = "Emmet";
// p.profissao = "Construtor";
// p.falar();5. 🛠️ Prática Obrigatória 1: Identificando os Elementos
Imagine que você está criando um jogo e precisa modelar um Jogador.
- Cite exemplos de Atributos que essa classe
Jogadordeveria ter. - Cite exemplos de Métodos (ações) que esse
Jogadorpoderia realizar no jogo.
6. 🛠️ Prática Obrigatória 2: Criando o Objeto
- Dada a classe
Personagemdo exemplo guiado acima, qual é a linha de código exata que você deve escrever dentro da funçãomainpara criar um novo objeto chamadoheroia partir dessa classe?
7. 📤 Instruções de Entrega (GitHub Desktop + Microsoft Teams)
- Faça o Commit: No GitHub Desktop, digite a mensagem (ex:
Finaliza Capítulo 04 Java_Lego) e clique em Commit to main. - Envie para a Nuvem (Push): Clique em Push origin.
8. 📂 Estrutura de Pastas
spec_backend_com_java_e_springboot/
├── capitulos/
│ └── capitulo_04_lego.md💡 Checkpoint de Lógica
Em Java, métodos que não devolvem nenhuma resposta (apenas executam uma ação, como imprimir na tela) usam a palavra-chave void antes do nome!
10. 🔥 Desafio de Fixação
Pesquise o que é o método Construtor em Java e para que ele serve na hora de criar um objeto com o comando new.
🔑 Gabarito de Código/Fórmulas
Gabarito da Prática 1:
- Atributos:
String nome;,int vida;,int pontuacao;. - Métodos:
void pular(),void atacar(),void correr(). Gabarito da Prática 2: Personagem heroi = new Personagem();