Repositório para desafio de projeto na DIO
Considerando o domínio bancário, foi abstraída uma solução Orientada a Objetos em Java. Para isso, foi interpretado o seguinte senário:
-
Um banco oferece aos seus clientes dois tipos de contas:
- Conta Corrente
- Conta poupança
As contas possuem como funcionalidades, entre contas da pópria instituição:
- depósito
- saque
- trasferência
Habilidade de concentrar-se nos aspectos essenciais de um domínio, ignorando características menos importantes ou acidentais.
Neste contexto, objetos são abstrações de entidades existentes no domínio em questão.
Encapsular significa esconder a implementação dos objetos, criando assim interfaces de uso mais concisas e fáceis de usar/entender.
O encapsulamento favorece principalmente dois aspectos de um sistema: a manutenção e a evolução.
Permite que você defina uma classe filha que reutiliza (herda), estende ou modifica o comportamento de uma classe pai.
A classe cujos membros são herdados é chamada de classe base. A classe que herda os membros da classe base é chamada de classe derivada.
Capacidade de um objeto poder ser referenciado de várias formas, ou seja, é capacidade de tratar objetos criados a partir das classes específicas como objetos de uma classe genérica.
Observação importante: polimorfismo não quer dizer que o objeto fica se transformando, muito pelo contrário, um objeto nasce de um tipo e morre daquele tipo, o que pode mudar é a maneira como nos referimos a ele.