1
resposta

Hora da prática: criando classes, construtores e métodos

'''
Esta é a documentação da classe ContaBancaria.
A classe ContaBancaria representa uma conta bancária com um titular e um saldo.
'''

class ContaBancaria:
    def __init__(self, titular='', saldo=0):
        self._titular = titular
        self._saldo = saldo
        self._ativo = False

    def __str__(self):
        return f'Conta de {self._titular} - Saldo: R${self._saldo:.2f}'

    @classmethod
    def ativar_conta(cls):
        cls._ativo = True

    @property
    def titular(self):
        return self._titular

    @titular.setter
    def titular(self, novo_titular):
        self._titular = novo_titular

class ClienteBanco:
    def __init__(self, nome='', idade=0, endereco='', telefone='', cpf=''):
        self.nome = nome
        self.idade = idade
        self.endereco = endereco
        self.telefone = telefone
        self.cpf = cpf

    @classmethod
    def criar_conta(cls):
        return ContaBancaria()


# 2. Crie duas instâncias da classe e imprima essas instâncias.
conta1 = ContaBancaria('João', 1000)
conta2 = ContaBancaria('Maria', 2000)
print(conta1)
print(conta2)

# 3. Chame o método de classe e imprima o valor de ativo.
ContaBancaria.ativar_conta()
print(ContaBancaria._ativo)  # Saída: True

# 5. Crie uma instância da classe e imprima o valor da propriedade titular.
cliente1 = ClienteBanco(nome='Fernando')
conta_cliente1 = cliente1.criar_conta()
print(conta_cliente1.titular)  # Saída: Fernando

# 6. Instancie 3 objetos da classe ClienteBanco e atribua valores aos seus atributos através do método construtor.
cliente2 = ClienteBanco('Ana', 25, 'Rua A', '123456789', '987654321')
cliente3 = ClienteBanco('Pedro', 35, 'Rua B', '987654321', '123456789')
cliente4 = ClienteBanco('Mariana', 30, 'Rua C', '999888777', '456789123')

Observações: Estranho seguir o padrão de aspas simples (') no código deste curso, pois é o padrão da comunidade Python e, no exemplo: Opinião do instrutor , utilizar aspas duplas (") como solução para esta atividade :)

1 resposta

Oi Anderson, tudo bem?

A sua implementação segue as melhores práticas de orientação a objetos em Python e atende aos requisitos da atividade, muito obrigada por compartilhar.

Lembre-se de que, além de compartilhar aqui no fórum, você também pode marcar a Alura nas redes sociais para que mais pessoas possam ver seu trabalho.

A Alura tem perfis em várias redes sociais, você pode encontrá-los aqui. E não se esqueça do nosso Discord de alunos da Alura.

Um abraço e bons estudos.