O Que Você Vai Aprender
Nesta aula, você mergulhará nos conceitos centrais da Programação Orientada a Objetos: Classes e Objetos. Você aprenderá a definir classes como "moldes" para objetos e a criar instâncias desses moldes, trazendo suas abstrações à vida no código.
🏗️ Definir Classes
Compreender como criar um "molde" ou "planta" para um objeto, usando a sintaxe `class NomeDaClasse:`.
✨ Criar Objetos (Instâncias)
Aprender a criar objetos concretos a partir de uma classe, utilizando a sintaxe `objeto = NomeDaClasse()`.
Classes: O Molde ou a Planta
Uma classe é essencialmente um blueprint, um projeto ou um molde para criar objetos. Ela define as características (o que o objeto "tem") e os comportamentos (o que o objeto "faz") que todos os objetos criados a partir dela possuirão.
Sintaxe para Definir uma Classe
Em Python, usamos a palavra-chave `class` seguida do nome da classe (convenção: nomes de classes começam com letra maiúscula).
class NomeDaClasse:
# Atributos da classe (características)
# Métodos da classe (comportamentos/funções)
pass # 'pass' é usado quando o corpo da classe está vazio
Exemplo de uma classe simples `Carro`:
class Carro:
cor = "preta" # Um atributo simples (característica)
def ligar(self): # Um método (comportamento)
print("Carro ligado!")
Simulador: Definição de Classe
Crie uma classe Python simples. Digite o nome da classe e um atributo.
Objetos (Instâncias): A Concretização do Molde
Enquanto a classe é a planta, um objeto é uma concretização dessa planta. É uma instância da classe, uma entidade real que existe na memória do seu programa e que possui as características e comportamentos definidos pela sua classe.

Figura: Relação entre Classe (molde) e Objeto (instância concreta)
Sintaxe para Criar um Objeto
Para criar um objeto (instanciar uma classe), você "chama" a classe como se fosse uma função, adicionando parênteses `()` após o nome da classe.
# Definição da Classe (exemplo da Aula 1)
class Carro:
def __init__(self, cor, portas):
self.cor = cor
self.portas = portas
def acelerar(self):
return f"O carro {self.cor} está acelerando!"
# Criando Objetos (Instâncias)
carro_azul = Carro("azul", 4) # Criando um objeto 'carro_azul'
carro_vermelho = Carro("vermelho", 2) # Criando outro objeto 'carro_vermelho'
print(carro_azul.cor) # Acessando atributo: "azul"
print(carro_vermelho.portas) # Acessando atributo: 2
print(carro_azul.acelerar()) # Chamando método: "O carro azul está acelerando!"
Simulador: Criar e Usar Objetos Simples
Vamos criar instâncias da classe `Pessoa` e acessar seus atributos.
# CLASSE DE EXEMPLO PARA O SIMULADOR
class Pessoa:
def __init__(self, nome, idade):
self.nome = nome
self.idade = idade
def saudar(self):
return f"Olá, meu nome é {self.nome} e tenho {self.idade} anos."
Desafios para Continuar
Agora que você entendeu a base de Classes e Objetos, é hora de praticar! Resolva estes problemas no seu ambiente de desenvolvimento Python para solidificar seu aprendizado.
-
✓
Crie uma Classe `Livro`
Defina uma classe `Livro` com um atributo `titulo` e um método `ler()` que imprima "Lendo [titulo do livro]".
-
✓
Instancie e Use Objetos `Livro`
Crie dois objetos diferentes da classe `Livro`, um para "O Pequeno Príncipe" e outro para "Dom Casmurro". Chame o método `ler()` para cada um deles.