0
respostas

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

1-Crie uma classe chamada ContaBancaria com um construtor que aceita os parâmetros titular e saldo. Inicie o atributo ativo como False por padrão.

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

2-Na classe ContaBancaria, adicione um método especial str que retorna uma mensagem formatada com o titular e o saldo da conta. Crie duas instâncias da classe e imprima essas instâncias.

    def __str__(self):
        return f'Titular: {self._titular} - Saldo: {self._saldo}'
    
conta1 = ContaBancaria('Maia', 1000)
conta2 = ContaBancaria('Kamala', 2000)

print(conta1)
print(conta2)

3-Adicione um método de classe chamado ativar_conta à classe ContaBancaria que define o atributo ativo como True. Crie uma instância da classe, chame o método de classe e imprima o valor de ativo.

@classmethod
 def ativar_conta(self):
        self._ativo = True
        print(f'Status da conta {self._ativo}')
        
print(conta1)
conta1.ativar_conta()
print(conta2)
conta2.ativar_conta()

4-Refatore a classe ContaBancaria para utilizar a abordagem "pythonica" na criação de atributos. Utilize propriedades, se necessário.

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

    @property
    def  titular(self):
        return self._titular
    
    @property
    def saldo(self):
        return self._titular
    
    @property
    def ativo(self):
        return self._ativo

5-Crie uma instância da classe e imprima o valor da propriedade titular.

conta1 = ContaBancaria('Maia', 1000)
conta2 = ContaBancaria('Kamala', 2000)
conta3 = ContaBancaria('Alana', 5000)

print(f'Titular da conta 1 {conta1.titular}')
print(f'Titular da conta 2 {conta2.titular}')
print(f'Titular da conta 3 {conta3.titular}')

6-Crie uma classe chamada ClienteBanco com um construtor que aceita 5 atributos. Instancie 3 objetos desta classe e atribua valores aos seus atributos através do método construtor.

class ClienteBanco:
    def __init__(self, nome, cidade, cpf, profissao, telefone ):
        self._nome = nome.title()
        self._cidade = cidade.title()
        self._cpf = cpf
        self._profissao = profissao
        self._telefone = telefone


cliente1 = ClienteBanco('Kamala', 'Manaus', 12356236514, 'Veterinaria', 11111-222)
cliente2 = ClienteBanco('Juliana', 'Fortaleza', 87598674563, 'Medica', 85467-986)
cliente3 = ClienteBanco('Amanda', 'Natal', 78552478598, 'Engenheira', 85721-457)

7-Crie um método de classe para a conta ClienteBanco.

    @classmethod
    def listar_clientes(cls):
        print('Relação dos Clientes')
        for cliente in cls.clientes:
            print(f'Nome: {cliente._nome}\nCidade: {cliente._cidade}\ncpf: {cliente._cpf}\nProfissão: {cliente._profissao}\nTelefone: {cliente._telefone}')
            print('-'* 20)


cliente1 = ClienteBanco('Kamala', 'Manaus', 12356236514, 'Veterinaria', 11111-222)
cliente2 = ClienteBanco('Juliana', 'Fortaleza', 87598674563, 'Medica', 85467-986)
cliente3 = ClienteBanco('Amanda', 'Natal', 78552478598, 'Engenheira', 85721-457)

ClienteBanco.listar_clientes()