Skip to content

Latest commit

 

History

History
33 lines (27 loc) · 2.38 KB

README.md

File metadata and controls

33 lines (27 loc) · 2.38 KB

Shinobi Bank

Projeto que simula um sistema bancário sendo executado via terminal com interação com o usuário. O programa foi desenvolvido em Java utilizando a programação orientada a objetos, todos os pilares dela: abstração, polimorfismo e herança. Coloquei o minímo de métodos possíveis, porque os consegui reutilizar ou rescrever para os dois tipos de contas do sistema, poupança e corrente.

Print do sistema

Como acessar o projeto

Para acessar o projeto e executa-lo na sua máquina, basta clicar aqui para baixar o projeto e colocar o projeto em sua IDE que funcione Java.

Instruções do Desafio

Para acessar o projeto e executa-lo na sua máquina, basta clicar aqui para baixar o projeto e colocar o projeto em sua IDE que funcione Java.

  1. Crie uma interface chamada Conta com os métodos consultarSaldo() e depositar(double valor).
  2. Crie uma classe abstrata chamada ContaBancaria que implementa a interface Conta.
  3. Crie uma classe chamada ContaCorrente que estende a classe ContaBancaria.
  4. Implemente o método depositar(double valor) para adicionar o valor ao saldo.
  5. Crie uma classe chamada ContaPoupanca que também estende a classe ContaBancaria.
  6. Implemente o método depositar(double valor) para adicionar o valor ao saldo com uma pequena taxa de depósito (por exemplo, deduzir 1% do valor depositado).

Desafio Extra: Como desafio adicional, adicione um enum chamado TipoConta para representar diferent tipos de contas, como CORRENTE e POUPANCA. Modifique as classes ContaCorrente ContaPoupanca para usar esse enum e adicione um método sobrecarregado na classe BancoKonoha para realizar transferências entre contas.

Aprendizados

Meu maior aprendizado com esse projeto foi saber utilizar melhor a Abstração da Orientação a Objetos. Foi o que me fez ficar mais preso ao projeto. Mas fiquei feliz com resultado.

Apresentação

Fiz um vídeo apresentando o projeto.

Conteúdos

  • Classes Concretas e Abstratas
  • Métodos Concretos e Abstratos
  • Interfaces
  • Abstração
  • Enumeradores
  • Polimorfismo
  • Entre outros