Capítulo 11: Orientação a Objetos (Classes e Objetos) 🤖🌆
Neste capítulo, vamos dar os primeiros passos na Programação Orientada a Objetos (POO), aprendendo a criar nossas próprias “formas” (Classes) e “produtos” (Objetos), com o tema Cyberpunk 2077!
📖 O que é POO e Classes?
A Orientação a Objetos tenta simular o mundo real no código.
- Classe: É o molde, a planta baixa (ex: o projeto de um ciborgue).
- Objeto: É a instância física criada a partir do molde (ex: um ciborgue específico como o V ou o David).
Veja a representação da nossa classe:
classDiagram class Mercenario { +nome +apelido +reputacao +exibir_status() }
📖 Exemplo Guiado: Criando um Mercenário
Vamos criar uma classe Mercenario com nome, apelido e nível de reputação.
- Crie o arquivo
cyberpunk.pyna pastasrc/:
# Definindo a classe
class Mercenario:
# Método construtor (inicializa os dados)
def __init__(self, nome, apelido, reputacao):
self.nome = nome
self.apelido = apelido
self.reputacao = reputacao
# Um método (ação) da classe
def exibir_status(self):
print(f"Mercenário: {self.apelido} (Nome real: {self.nome}) | Reputação: {self.reputacao}")
# Criando objetos (instâncias)
v = Mercenario("Vincent", "V", 50)
david = Mercenario("David Martinez", "Sandevistan Boy", 40)
# Usando os objetos
v.exibir_status()
david.exibir_status()🕹️ Como Executar e Testar no VS Code
- Abra o arquivo
cyberpunk.py. - Clique no botão Run Python File.
Resultado Esperado:
Mercenário: V (Nome real: Vincent) | Reputação: 50
Mercenário: Sandevistan Boy (Nome real: David Martinez) | Reputação: 40🛠️ Prática Obrigatória 1: Implante Cibernético
Crie um programa chamado implante.py com uma classe Implante contendo nome, parte do corpo e custo. Crie dois objetos de implantes diferentes (ex: “Olhos Kiroshi” e “Braços Gorila”) e exiba seus dados chamando um método exibir_dados().
🛠️ Prática Obrigatória 2: Sistema de Hack
Crie um programa chamado hack.py com uma classe Quickhack contendo nome e consumo de memória (RAM). Adicione um método executar() que exiba uma mensagem dizendo que o hack está sendo aplicado.
🔑 Gabarito de Código
Prática 1: implante.py
class Implante:
def __init__(self, nome, parte, custo):
self.nome = nome
self.parte = parte
self.custo = custo
def exibir_dados(self):
print(f"Implante: {self.nome} | Local: {self.parte} | Custo: {self.custo} €$")
i1 = Implante("Olhos Kiroshi", "Olhos", 1500)
i2 = Implante("Braços Gorila", "Braços", 3000)
i1.exibir_dados()
i2.exibir_dados()Prática 2: hack.py
class Quickhack:
def __init__(self, nome, ram):
self.nome = nome
self.ram = ram
def executar(self):
print(f"Executando {self.nome}... Consumindo {self.ram} de RAM!")
h1 = Quickhack("Curto-Circuito", 4)
h2 = Quickhack("Superaquecimento", 6)
h1.executar()
h2.executar()📤 Instruções de Entrega (GitHub Desktop + Microsoft Teams)
(Siga o mesmo padrão do Capítulo 01)