Programação  
 
Conhecimento computador >> Programação >> Programação em Java >> 
Como criar uma classe Conta Poupança Com Java
Ao criar uma classe para modelar as informações para uma conta poupança em Java, uma série de considerações especiais entram em jogo. O mais importante deles é a fraqueza sutil na implementação Java do float e tipos primitivos de dados dupla que faz com que eles voltem ocasionalmente respostas ligeiramente imprecisos para operações aritméticas . Essas imprecisões , na maioria das circunstâncias , seria trivial. No entanto, quando se lida com registros de moeda , onde pequenos erros pode adicionar até dramáticos , as consequências do mundo real ao longo do tempo , eles podem se tornar graves. Coisas que você precisa
Computer Fotografia de Java IDE
kit de desenvolvimento Java
Java Runtime Environment
Show Mais instruções
1

Crie uma classe SavingsAccount . Se você estiver usando uma IDE Java especializado , provavelmente há uma opção para criar classes esqueleto automaticamente para você no menu Arquivo. Caso contrário , basta criar um arquivo chamado " SavingsAccount.java " e escreva a seguinte informação nele: .

/*** Esta classe representa informações comuns a todas as contas de poupança * /public class SavingsAccount {

//Tudo o resto do tutorial será escrito neste espaço !

}
2

Declare os campos de classe . No mínimo, você provavelmente vai querer armazenar um número de conta , o saldo atual, uma lista de titulares da conta , e um registro de todas as transações na conta. Escreva o seguinte dentro da classe :

/*** O número da conta * /String accountNumber ;

/*** O saldo atual. . Nunca use flutuadores ou duplos para moeda ! Há imprecisões na bóia e aritmética double * /equilíbrio BigDecimal privado; .

/*** Este armazena uma lista de nomes de titular de conta como uma string. Uma alternativa poderia ser a criação de uma classe de correntistas, e loja que aqui * /ArrayList correntistas = new ArrayList ( ); .

/*** A história de operações realizadas sobre a conta. Mais uma vez, uma alternativa seria a criação de uma classe de transação para armazenar mais informação do que o valor da transação * /ArrayList transações privadas = new ArrayList ();

Documentando seu trabalho é importante para legibilidade do código e manutenção futura , por isso não negligencie os seus comentários JavaDoc .

Uma coisa muito importante que você deve observar é que o balanço e as transações não são representados como flutuadores ou duplos , mas sim com a classe BigDecimal . BigDecimal é um método de uso intensivo de memória mais lenta e de armazenar números de ponto flutuante . No entanto, ela não tem as pequenas imprecisões do flutuador e primitivas de duplas. Como você está lidando com a moeda , você deve preferir precisão nas operações para os pequenos ganhos fornecidos pelo flutuador e dobrar de velocidade e consumo de memória.
3

Criar um construtor. Na maioria das classes, você vai querer sobrecarregar o construtor , ou seja, você vai querer ter mais de um método para a construção de uma nova instância de conta. Você pode decidir por si mesmo que tipo de construtores irá atender as suas necessidades, mas , no mínimo , deve haver um construtor para criar uma nova conta dado um número de conta e saldo começando , então adicione o seguinte método para sua classe:

/*** Criar uma nova conta * @ param accountNumber número da nova conta * @ param equilibrar a conta de saldo inicial * /SavingsAccount (String accountNumber , equilíbrio BigDecimal ) { this.accountNumber = accountNumber ; this.balance = saldo ; }
4

Criar um equilíbrio " getter " e um método performTransaction . É Orientada a Objetos prática de programação padrão para criar getters e setters para todos os campos de uma classe. No entanto, este não é apropriado para o campo de equilíbrio. Enquanto você certamente deve permitir o equilíbrio para ser visto, você não quer manipulações arbitrárias para o equilíbrio. Em vez disso , você quer que todas as alterações no equilíbrio de ocorrer na forma de uma transação. Portanto , adicione os seguintes dois métodos para a sua classe

/*** @ return o saldo atual * /BigDecimal getBalance () { return equilíbrio ;} .

/*** Realiza uma transação na conta * quantidade . @ param quanto a retirar /depósito? Retiradas deve ser negativo . Depósitos deve ser positivo . * @ Return true de sucesso. False se infrutíferas. Uma alternativa ao uso de um boolean aqui seria criar uma classe " TransactionFailedException " que poderia proporcionar ao usuário mais informações sobre as razões para o fracasso . * /PerformTransaction boolean ( BigDecimal valor ) {if ( amount.compareTo ( BigDecimal.ZERO ) = = -1 ) {//Esta é uma withdrawif ( amount.abs () compareTo (saldo) == 1 ) { //a retirar valor é maior que o balance.return falso ; . } else {//Não há dinheiro suficiente para cobrir a retirada . Modifique o equilíbrio e registrar o transaction.balance = balance.add ( quantidade ); transactions.add ( quantidade ); return true; }} else {//Este é um depósito . Adicionar ao equilíbrio e registrar o transaction.balance = balance.add ( quantidade ); transactions.add ( quantidade ); return true; }}

Isto fornece sua conta poupança da classe com o mínimo que necessita para funcionar , embora ainda há melhorias que podem ser feitas a ele. Titular e transações de conta deve ser suas próprias classes , ao invés de cordas simples e BigDecimals , já que você pode querer armazenar mais informações sobre a transação do que simplesmente o valor envolvido .

Anterior :

Próximo : No
  Os artigos relacionados
·Como desenhar uma forma oval no NetBeans 
·Como usar Hibernate com Eclipse 
·Como obter entrada do usuário em Java 
·Como Jogar um arquivo JSP 
·Como solucionar os registros de mensagens de erro Java 
·Como criar formulários de inscrição em Java 
·Como usar o Apache Felix 
·Como construir uma App Cerca de um Applet Java 
·Como usar variáveis ​​em um classpath do projeto Eclip…
·Como instalar um script de controle Com o Java 
  Artigos em destaque
·Como ler um arquivo XLS com um programa C 
·Como criar um site usando EJB 
·Como calcular o tempo em C em Linux 
·Como editar uma linha no GridView 
·Como usar uma caixa de combinação no MFC 
·Como distinguir entre o processamento de entrada e saí…
·Como adicionar um cabeçalho para Datagrid 
·Como usar o Tesseract OCR em Java 
·Como @ Eco comando no bloco de notas 
·Como dividir BASIC Stamp I sinais de E /S 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados