Classe: É um projeto ou um modelo para criar objetos. Ela define um conjunto de atributos (características) e métodos (comportamentos) que os objetos criados a partir dela terão. Pense em uma classe como a planta de uma casa.
CamelCase
(primeira letra de cada palavra em maiúscula).# Exemplo de uma classe simples
class Carro:
pass # 'pass' é uma operação nula, usada quando nenhum código é necessário.
Objeto (Instância): É uma ocorrência concreta de uma classe. É a "casa" construída a partir da planta. Cada objeto tem seus próprios valores para os atributos definidos pela classe, mas compartilha os mesmos métodos.
# Criando objetos (instâncias) da classe Carro
meu_carro = Carro()
seu_carro = Carro()
Atributo: São as características ou propriedades de um objeto. Eles representam o estado do objeto.
class Carro:
# Atributo de Classe: comum a todos os carros
rodas = 4
def __init__(self, marca, modelo):
# Atributos de Instância: específicos de cada carro
self.marca = marca
self.modelo = modelo
meu_carro = Carro("Ford", "Focus")
print(meu_carro.marca) # Saída: Ford
print(meu_carro.rodas) # Saída: 4 (acessando atributo de classe pela instância)
print(Carro.rodas) # Saída: 4 (acessando atributo de classe pela classe)
Método: São funções definidas dentro de uma classe que representam os comportamentos que um objeto pode realizar. Métodos sempre recebem self
como primeiro parâmetro (por convenção), que se refere à própria instância do objeto.
class Carro:
def __init__(self, marca, modelo):
self.marca = marca
self.modelo = modelo
self.velocidade = 0
def acelerar(self, incremento):
self.velocidade += incremento
print(f"{self.marca} {self.modelo} acelerou para {self.velocidade} km/h.")
def frear(self, decremento):
self.velocidade -= decremento
if self.velocidade < 0:
self.velocidade = 0
print(f"{self.marca} {self.modelo} freou para {self.velocidade} km/h.")
meu_carro = Carro("Chevrolet", "Onix")
meu_carro.acelerar(50) # Saída: Chevrolet Onix acelerou para 50 km/h.
meu_carro.frear(20) # Saída: Chevrolet Onix freou para 30 km/h.