1
resposta

06 Mão na massa : herança e modularização

class Banco:
    def __init__(self,nome,endereco,tipo):
        self.nome = nome
        self.endereco = endereco
        self.tipo = tipo # Banco 'Físico', 'Online' ou 'Ambos'
from banco  import Banco

class agencia(Banco):
    def __init__(self,nome,endereco,numero,tipo):
        super().__init__(nome,endereco,tipo)
        self.numero = numero
1 resposta

Oi, Carlos! Como vai?

Você estruturou bem a herança ao fazer a classe agencia receber os atributos de Banco com super().__init__(nome, endereco, tipo). Um ajuste interessante é usar nomes de classes com inicial maiúscula, como Agencia, seguindo a convenção do Python.

Você pode criar um método como exibir_dados() para organizar a visualização das informações da agência.


class Agencia(Banco):
    def __init__(self, nome, endereco, numero, tipo):
        super().__init__(nome, endereco, tipo)
        self.numero = numero

    def exibir_dados(self):
        return f'Agencia {self.numero} - {self.nome} - {self.tipo}'

Esse método retorna os dados principais da agencia em uma string, deixando o código mais organizado e fácil de reutilizar.

Pensando na evolução desse sistema, você acredita que seria interessante adicionar um método na classe Banco que fosse compartilhado por todas as agências, ou cada agência terá comportamentos únicos?

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!