Aula 031: Construtores
🎥 Vídeo 31
Nesta aula, vamos aprender sobre construtores na criação de Classes.
O que são construtores em classes?
Na aula anterior, vimos como criar classes, métodos e atributos em Python. Nesta, o foco é entender os construtores, que permitem definir automaticamente os atributos de um objeto no momento em que ele é criado.
Relembrando uma classe simples
Exemplo:
Essa classe possui dois métodos:
aprovar()reprovar()
Criando objetos da classe
Podemos criar objetos assim:
Na aula anterior, os atributos eram adicionados manualmente:
Isso funciona, mas pode gerar repetição no código.
O problema da criação manual de atributos
Quando os atributos são adicionados manualmente:
Precisamos repetir esse processo para todos os objetos criados.
Além disso:
- Um objeto pode acabar sem atributos importantes;
- Não existe uma padronização garantida;
- O código fica mais repetitivo.
O que é um construtor?
O construtor é um método especial executado automaticamente quando um objeto é criado.
Em Python, o construtor é definido com:
Esse método é chamado automaticamente ao iniciar um objeto da classe.
Criando um construtor
Exemplo:
Nesse exemplo:
__init__é o construtor;nomeeidadesão parâmetros recebidos;self.nomeeself.idadecriam atributos no objeto.
O que significa self?
O self representa o próprio objeto que está sendo criado.
Exemplo:
Isso significa:
- criar um atributo chamado
nomeno objeto; - armazenar nele o valor recebido no parâmetro
nome.
Criando objetos com construtor
Agora, ao criar um objeto, precisamos informar os valores exigidos pelo construtor:
Nesse caso:
"Ana"será o nome;14será a idade.
O que acontece se faltar um argumento?
Se tentarmos criar o objeto sem os parâmetros:
O Python gera erro:
Isso acontece porque o construtor exige:
nomeidade
Acessando atributos do objeto
Depois de criar o objeto:
Podemos acessar os atributos:
Resultado:
Adicionando mais atributos
Também podemos adicionar novos atributos no construtor.
Exemplo:
class Aluno:
def __init__(self, nome, idade, escola):
self.nome = nome
self.idade = idade
self.escola = escola
Agora o objeto precisa receber:
- nome;
- idade;
- escola.
Criando um objeto com vários atributos
Exemplo:
Acessando os valores:
Resultado:
Alterando atributos depois da criação
Os atributos podem ser modificados posteriormente.
Exemplo:
Depois:
Resultado:
Métodos continuam funcionando
Mesmo usando construtores, os métodos da classe continuam disponíveis.
Exemplo:
class Aluno:
def __init__(self, nome, idade):
self.nome = nome
self.idade = idade
def aprovar(self):
print("Aprovado")
Executando:
Resultado:
Classe como “blueprint”
Uma classe funciona como um modelo (blueprint) para criação de objetos.
Ela define:
- quais atributos os objetos terão;
- quais métodos poderão executar;
- como esses objetos serão organizados.
Curiosidade sobre self
A palavra self é apenas uma convenção.
Tecnicamente, outro nome poderia ser utilizado:
Isso funciona normalmente. Porém, a convenção da comunidade Python é utilizar self.
Isso deixa o código mais padronizado e fácil de entender.
Aplicação prática
Os construtores ajudam a:
- padronizar objetos;
- evitar repetição;
- garantir atributos obrigatórios;
- organizar melhor o código;
- facilitar manutenção do sistema.
Checklist
Ao final desta aula, você aprendeu:
- O que é um construtor?;
- Como utilizar
__init__; - O papel do
self; - Como criar atributos automaticamente;
- Como criar objetos com parâmetros;
- Como acessar atributos;
- Como alterar atributos;
- Como os métodos continuam funcionando;
- O conceito de classe como blueprint.
Os construtores são fundamentais na programação orientada a objetos, pois permitem criar objetos mais organizados, padronizados e reutilizáveis.