Este projeto consiste na reformulação completa de um sistema bancário básico, migrando uma estrutura sequencial/funcional para o paradigma de Programação Orientada a Objetos (POO) em Python. O desafio faz parte do Bootcamp da Digital Innovation One (DIO).
- Python 3: Linguagem base utilizada.
- Classes e Objetos: Estruturação de entidades do mundo real como
Cliente,PessoaFisica,ContaeContaCorrente. - Herança e Polimorfismo: Reaproveitamento e extensão da classe base
Contapara criar umaContaCorrentecom regras específicas de limite. - Classes Abstratas (ABC): Implementação da classe
Transacaoutilizando o decorador@abstractmethod. - Encapsulamento: Proteção de atributos críticos (como saldo e histórico) utilizando propriedades (
@property). - Tratamento de Exceções: Uso de blocos
try/exceptcomValueErrorpara evitar travamentos caso o usuário digite letras no lugar de números nos campos de valores.
- Cadastro de Clientes: Criação de usuários do tipo Pessoa Física com validação para impedir CPFs duplicados.
- Vínculo de Contas: Abertura automática de contas correntes vinculadas ao CPF do cliente.