![]() |
António Roberto Software |
|
Linguagens
de Programação 1
|
2º
ano da Licenciatura em Informática de Gestão
|
Aulas de 16 e 20 de Dezembro de 2002
Exercício
Construção de 2 implementações da classe Banco
Um banco é composto por um conjunto de contas.
Interface da classe Banco:
- Campos readonly ou propriedades readonly:
- string Nome: nome do banco
- double SaldoMinimoAberturaConta: valor mínimo do saldo na abertura de uma conta
- Construtores:
- Banco(string Nome) - assuma o valor 50 para o SaldoMinimoAberturaConta
- Banco(string Nome, double SaldoMinimoAberturaConta)
- Métodos:
- bool AbrirConta(out string NrConta)
- bool AbrirConta(out string NrConta, double SaldoInicial)
- o banco devolve o Número da nova Conta num parâmetro de saída
na primeira assinatura de AbrirConta, o Saldo da nova conta é igualado ao SaldoMinimoAberturaConta
- bool Depositar(string NrConta, double Valor)
- bool Levantar(string NrConta, double Valor)
- bool Consultar(string NrConta, out double Saldo)
- bool Transferir(string NrContaDebitar, string NrContaCreditar, double Valor)
- bool FecharConta(string NrConta)
todos os métodos retornam um valor booleano que indica o sucesso/insucesso da operação
Reaproveite a classe Conta (ficheiro Conta.cs) construída na aula de 18 de Outubro . É necessário efectuar as seguintes alterações à classe Conta:
elimine o sistema de numeração sequencial das contas. Agora o Banco é que é o responsável pela numeração das contas
substitua os dois construtores da classe Conta apenas por um com a seguinte assinatura:
Conta(string NrConta, double SaldoInicial)
Para testar a classe Banco, construa uma classe CliBanco com essa finalidade. Pode aproveitar o esqueleto do cliente da classe Conta (ficheiro CliConta.cs) da aula de 11 de Novembro e fazer as devidas alterações.
Embora se construam dois projectos correspondentes às duas implementações da classe Banco, a classe Conta e a classe CliBanco são as mesmas em ambos os projectos.
|
Nome do Projecto |
Tipo |
Código Fonte |
|
BancoArray |
ConsoleApplication |
|
|
BancoFile |
ConsoleApplication |