Aula 13
Orientação a Objetos (Intro)
🎯 Objetivos
- Paradigma OO.
- Classes vs Objetos.
- Atributos (
self.variavel). - Métodos (
def funcao()). - O Construtor
__init__.
🏗️ Classe vs Objeto
Imagine uma fábrica de carros.
- Classe (Molde): O desenho técnico do carro. Definições de motor, cor, rodas. Não dá para dirigir o desenho.
- Objeto (Instância): O carro real que saiu da fábrica. Dá para dirigir, abastecer e bater.
💾 Atributos (Dados)
São as variáveis que "vivem" dentro do objeto.
Usamos self para dizer "meu atributo".
class Carro:
def __init__(self, cor, modelo):
self.cor = cor
self.modelo = modelo
c1 = Carro("Azul", "Fusca")
print(c1.cor) # Azul
__init__
Roda AUTOMATICAMENTE quando criamos o objeto. Serve para inicializar.
⚙️ Métodos (Ações)
São funções que o objeto sabe executar.
O primeiro parâmetro TEM QUE SER self.
class Carro:
# ... init ...
def acelerar(self):
print(f"O {self.modelo} está acelerando! Vrum!")
c1.acelerar()
🤳 O tal do self
Por que preciso declarar self?
O Python passa o objeto automaticamente como primeiro argumento.
Quando chamamos:
c1.acelerar()
O Python faz internamente:
Carro.acelerar(c1)
Isso é o self: o próprio objeto c1.
🏁 Resumo
- POO modela o mundo real.
- Classes definem a estrutura.
- Objetos são criados a partir de classes.
- Atributos guardam estado.
- Métodos definem comportamento.
Prática! 🚀
Vamos criar nossos próprios objetos.