🚀 Capítulo 10: Construindo a Armadura
NOTE
Este capítulo utiliza a temática de Tony Stark para explicar a Programação Orientada a Objetos (POO) em Python. Aprenda a criar os seus próprios moldes de objetos!
🎯 Objetivo da Aula
Compreender os conceitos básicos de Programação Orientada a Objetos (POO) em Python: o que são Classes e Objetos, como criar o método construtor __init__ e como usar a palavra-chave self.
🏢 O Cenário Prático (Seu Desafio)
Tony Stark não constrói cada armadura do zero soldando peça por peça toda vez. Ele cria um projeto (um molde digital) no computador do que é uma armadura (ela tem cor, nível de energia e sabe voar). A partir desse projeto único, ele pode “materializar” várias armaduras reais (a Mark 1, a Mark 2, etc.).
Na programação:
- O projeto digital é a Classe.
- A armadura física e real que vai para a batalha é o Objeto (ou Instância).
- Seu desafio é criar o molde da armadura do Homem de Ferro!
graph TD A[Classe: Molde da Armadura] -->|Gera| B[Objeto: Mark I] A -->|Gera| C[Objeto: Mark II]
🧠 Fundamentos: A Teoria Traduzida
🏗️ 1. O que é uma Classe?
É o molde. Usamos a palavra class para criar.
class Armadura:
pass # pass serve apenas para o Python não dar erro de código vazio🔋 2. O Construtor (__init__):
É a função especial que roda automaticamente assim que a armadura é criada. Serve para dar os valores iniciais (atributos) para ela.
- O
selfrepresenta a própria armadura que está sendo criada naquele momento!
class Armadura:
def __init__(self, modelo, cor):
self.modelo = modelo # Atributo
self.cor = cor # Atributo
self.energia = 100 # Começa sempre com 100🚀 3. Criando o Objeto:
mark1 = Armadura("Mark I", "Cinza")
mark2 = Armadura("Mark II", "Prateada")
print(mark1.modelo) # Imprime: Mark I
print(mark2.modelo) # Imprime: Mark II📖 Exemplo Guiado: Adicionando Habilidades
As funções criadas dentro de uma classe são chamadas de Métodos (as ações que o objeto sabe fazer). Elas também precisam receber o self como primeiro parâmetro!
class Armadura:
def __init__(self, modelo):
self.modelo = modelo
self.energia = 100
def atirar(self):
if self.energia >= 10:
self.energia -= 10
print(f"{self.modelo} atirou laser! Energia atual: {self.energia}")
else:
print("Energia insuficiente!")
# Testando
minha_armadura = Armadura("Mark III")
minha_armadura.atirar()🛠️ Prática Obrigatória 1: Criando a Classe
- Crie uma classe chamada
Heroique tenha um método construtor__init__que recebanomeepodere salve-os em atributos com o mesmo nome.
🛠️ Prática Obrigatória 2: Criando o Objeto
- Como você criaria um objeto a partir da classe
Heroiacima, passando o nome"Thor"e o poder"Trovão", guardando na variávelvingador?
📤 Instruções de Entrega (GitHub Desktop + Microsoft Teams)
Neste curso, você entregará suas atividades enviando o código para o seu repositório no GitHub usando o aplicativo GitHub Desktop. Siga o passo a passo detalhado:
- Verifique a estrutura: Certifique-se de que sua estrutura de pastas final está idêntica à mostrada abaixo.
- Abra o GitHub Desktop: Certifique-se de que o repositório do seu curso está selecionado no canto superior esquerdo.
- Visualize as alterações: Na aba Changes (à esquerda), você verá todos os arquivos que criou ou modificou nesta aula.
- Faça o Commit:
- No campo Summary (na parte inferior esquerda), digite uma mensagem curta descrevendo o que fez, ex:
Finaliza atividades do Capítulo. - Clique no botão azul Commit to main (ou o nome da sua branch).
- No campo Summary (na parte inferior esquerda), digite uma mensagem curta descrevendo o que fez, ex:
- Envie para a Nuvem (Push): No topo da tela, clique no botão Push origin. Isso enviará seu código do seu computador para o seu perfil no GitHub.
- ⚠️ IMPORTANTE (Repositório Público): Para que o professor consiga corrigir, o seu repositório no GitHub DEVE SER PÚBLICO. Repositórios privados não podem ser visualizados por quem não foi convidado.
- Como entregar no Microsoft Teams:
- Copie o link do seu repositório no GitHub (ex:
https://github.com/seu-usuario/seu-repositorio). - Abra a tarefa correspondente no Microsoft Teams.
- Clique no botão Adicionar trabalho (ou Add work).
- Selecione a opção Link no menu lateral.
- Cole o link do GitHub no campo “Endereço Web” e digite um texto (ex:
Meu Repositório) no campo “Texto a ser exibido”. - Clique em Anexar.
- MUITO IMPORTANTE: Clique no botão Entregar (ou Turn in) no canto superior direito para concluir o envio!
- Copie o link do seu repositório no GitHub (ex:
📂 Estrutura de Pastas
spec_backend_com_python_e_fastapi/
├── capitulos/
│ └── capitulo_10_stark.md💡 Checkpoint de Lógica
Em Python, métodos que começam e terminam com dois underlines (como __init__) são chamados de Métodos Mágicos ou Dunder Methods. Eles têm comportamentos especiais no sistema!
🔥 Desafio de Fixação (Opcional)
Pesquise para que serve o método mágico __str__ em uma classe Python.
🔑 Gabarito de Código/Fórmulas
Gabarito da Prática 1:
class Heroi:
def __init__(self, nome, poder):
self.nome = nome
self.poder = poderGabarito da Prática 2:
vingador = Heroi("Thor", "Trovão")