Skip to content

Latest commit

 

History

History
143 lines (101 loc) · 6 KB

File metadata and controls

143 lines (101 loc) · 6 KB

Projeto 01 - Conta Bancária - Interface - Interface ContaRepository

Na etapa anterior, implementamos a Classe Conta como uma Classe Abstrata.

Nesta etapa, vamos criar a Interface ContaRepository, que fornecerá a assinatura dos Métodos necessários para manipular os Objetos das Classes ContaCorrente e ContaPoupanca, que posteriormente serão armazenados em uma Collection.

Os Métodos da Interface ContaRepository, posteriormente, serão implementados em uma Classe, de modo a manter os detalhes da implementação (Métodos Construtores, Get e Set, por exemplo), encapsulados na nova Classe. A Interface fornece apenas as assinaturas dos Métodos. O Diagrama de Classes do nosso Projeto ficará da seguinte forma:

classDiagram
class Conta {
<<Abstract>>
  - numero : int
  - agencia : int
  - tipo : int
  - titular : String
  - saldo : float
  + int getNumero()
  + int getAgencia()
  + int getTipo()
  + String getTitular()
  + float getSaldo()
  + void setNumero(int numero)
  + void setAgencia(int agencia)
  + void setTipo(int tipo)
  + void setTitular(String titular)
  + void setSaldo(float saldo)
  + boolean sacar(float valor)
  + void depositar(float valor)
  + void visualizar()
}
class ContaCorrente {
  - limite : float
  + float getLimite()
  + void setLimite(float limite)
  + boolean sacar(float valor)
  + void visualizar()
}
class ContaPoupanca {
  - aniversario : int
  + int getAniversario()
  + void setAniversario(int aniversario)
  + void visualizar()
}
class ContaRepository{
<< Interface >>
+ void procurarPorNumero(int numero)
+ void listarTodas()
+ void cadastrar(Conta conta)
+ void atualizar(Conta conta)
+ void deletar(int numero)
+ void sacar(int numero, float valor)
+ void depositar(int numero, float valor)
+ void transferir(int numeroOrigem, int numeroDestino, float valor)
}
Conta <|-- ContaCorrente
Conta <|-- ContaPoupanca
Loading

👣 Passo 01 - Criar o Pacote Repository

No pacote principal da nossa aplicação (conta), vamos criar o pacote repository, que armazaenará a Interface que define os Métodos de Consulta, Inserção, Atualização e Exclusão dos dados das Contas (CRUD), além dos Métodos Bancários: Saque, Depósito e Transferências:

  1. No lado esquerdo superior, na Guia Package explorer, clique com o botão direito do mouse sobre o pacote principal da nossa aplicação (conta) e clique na opção New 🡪 Package, como mostra a animação abaixo:
  1. Na janela New Java Package, no item Name, informe o nome da Package: conta.repository, como mostra a figura abaixo:
  1. Clique no botão Finish para concluir.

👣 Passo 02 - Criar a Interface ContaRepository

Agora vamos criar a Interface ContaRepository no Pacote repository.

  1. Clique com o botão direito do mouse sobre o Pacote conta.repository e na sequência, clique na opção New 🡪 Interface, como mostra a animação abaixo:
  1. Na janela New Java Interface, no item Name, digite o nome da Interface (ContaRepository), como mostra a figura abaixo:
  1. Clique no botão Finish para concluir.
  2. Na imagem abaixo, vemos o código inicial da Interface ContaRepository:

Vamos implementar o código da Interface ContaRepository. Vamos analisar o código abaixo:

Linhas 8 a 12: Assinamos os Métodos do CRUD (Create, Read, Update e Delete), dos Objetos das Classes ContaCorrente e ContaPoupanca. Estes Métodos serão implementados na Classe ContaController, que será implementada na próxima Tarefa do Projeto Conta Bancária.

Linhas 15 a 17: Assinamos os Métodos de Operações Bancárias (Saque, Deposito e Transferencia), dos Objetos das Classes ContaCorrente e ContaPoupanca. Estes Métodos também serão implementados na Classe ContaController, que será implementada na próxima Tarefa do Projeto Conta Bancária.

O Código completo da Interface ContaRepository, você confere abaixo:

package conta.repository;

import conta.model.Conta;

public interface ContaRepository {

	// CRUD da Conta
	public void procurarPorNumero(int numero);
	public void listarTodas();
	public void cadastrar(Conta conta);
	public void atualizar(Conta conta);
	public void deletar(int numero);
	
	// Métodos Bancários
	public void sacar(int numero, float valor);
	public void depositar(int numero, float valor);
	public void transferir(int numeroOrigem, int numeroDestino, float valor);
	
}
  1. Salve e execute o projeto clicando no botão Run.

Observe que não houve nenhuma mudança visível no projeto. Na próxima tarefa, os Métodos assinados na Interface ContaRepository serão implementados na Classe ContaController.