🚀 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.

  1. Cite exemplos de Atributos que essa classe Jogador deveria ter.
  2. Cite exemplos de Métodos (ações) que esse Jogador poderia realizar no jogo.

6. 🛠️ Prática Obrigatória 2: Criando o Objeto

  1. Dada a classe Personagem do exemplo guiado acima, qual é a linha de código exata que você deve escrever dentro da função main para criar um novo objeto chamado heroi a partir dessa classe?

7. 📤 Instruções de Entrega (GitHub Desktop + Microsoft Teams)

  1. Faça o Commit: No GitHub Desktop, digite a mensagem (ex: Finaliza Capítulo 04 Java_Lego) e clique em Commit to main.
  2. 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:

  1. Atributos: String nome;, int vida;, int pontuacao;.
  2. Métodos: void pular(), void atacar(), void correr(). Gabarito da Prática 2:
  3. Personagem heroi = new Personagem();

Capitulo Anterior | Proximo Capitulo