Olá, Luiz Fernando. Como vai?
Mais uma excelente entrega na sua jornada de Orientação a Objetos com Python! A modularização (separar as classes em arquivos diferentes) e o uso da herança são práticas fundamentais para construir sistemas organizados, fáceis de dar manutenção e que escalam bem no mercado real.
Seu código está estruturado de forma impecável:
- Modularização Correta: O arquivo
agencia.py está importando a classe Banco do arquivo banco.py com a sintaxe perfeita (from banco import Banco). - Uso do
super().__init__(): Você utilizou a melhor prática de herança ao invocar o construtor da classe mãe para inicializar os atributos protegidos _nome e _endereco, deixando para a classe Agencia apenas a responsabilidade de inicializar o seu próprio atributo específico, que é o _numero. - Encapsulamento: O uso do underline (
_) antes dos nomes dos atributos indica para outros desenvolvedores que esses dados são protegidos, uma convenção muito forte no ecossistema Python.
Para te ajudar a compreender visualmente como o Python organiza essa relação de herança e herda a estrutura dos atributos entre as duas classes em arquivos separados, veja o esquema abaixo:
Uma dica de ouro para o próximo passo:
Agora que você estruturou a herança, o próximo passo natural desse exercício costuma ser a criação de um método de exibição de dados (como o __str__ que você utilizou com sucesso no desafio de Veículos).
Lembre-se de que, na classe Agencia, você pode reaproveitar os dados da classe mãe fazendo com que a agência exiba o nome do banco ao qual pertence. Veja um exemplo prático de como expandir o seu arquivo agencia.py:
from banco import Banco
class Agencia(Banco):
def __init__(self, nome, endereco, numero):
super().__init__(nome, endereco)
self._numero = numero
def __str__(self):
# Acessando os atributos herdados da classe Banco
return f"Banco: {self._nome} | Agência Número: {self._numero} | Endereço: {self._endereco}"
O design das suas classes está excelente e demonstra que o conceito de reaproveitamento de código e divisão de responsabilidades está super consolidado na sua mente. Parabéns pelo projeto!
Espero que possa ter lhe ajudado!