Java IDE
Java Development Kit
Java Runtime Environment
Ver Más instrucciones
1
crear una clase SavingsAccount . Si usted está usando un IDE Java especializada , es probable que haya una opción para crear clases esqueleto automáticamente para usted en el menú Archivo. De lo contrario , cree un archivo llamado " SavingsAccount.java " y escriba la siguiente información en el mismo: .
/*** Esta clase representa la información común a todas las cuentas de ahorro * /class SavingsAccount pública {
< p > //Todo lo demás en el tutorial se escribirá en este espacio !
}
2
Declarar los campos de clase . Como mínimo, es probable que desee almacenar un número de cuenta , el saldo actual , una lista de los titulares de las cuentas , y un registro de todas las transacciones en la cuenta. Escriba el siguiente dentro de la clase :
/*** El número de cuenta * numeroCuenta /String;
/*** El saldo actual. . Nunca utilice flotadores o dobles de la moneda ! Hay errores en float y double aritméticas * saldo BigDecimal /privado; .
/*** Esto almacena una lista de nombres de cuenta de soporte en forma de cadena . Una alternativa podría ser la creación de una clase de cuenta, y la tienda que aquí * /ArrayList cuentahabientes /*** Una historia de las transacciones realizadas en la cuenta. Una vez más , una alternativa sería la creación de una clase de transacciones para tener más información de la que la cantidad de la transacción ArrayList * /private Documentar su trabajo es importante para legibilidad del código y el mantenimiento en el futuro , por lo que no descuiden sus comentarios JavaDoc . Una cosa muy importante que debe tener en cuenta es que el balance y las transacciones no están representados como flotadores o dobles , sino más bien con la clase BigDecimal . BigDecimal es un método intensivo de la memoria más lenta y de almacenar números de coma flotante . Sin embargo , carece de los pequeños errores de los float y double primitivas . Dado que se trata de divisas, usted debe preferir precisión en las operaciones de las pequeñas ganancias proporcionadas por flotador y el doble de velocidad y el consumo de memoria . Crear un constructor. En la mayoría de las clases , tendrá que sobrecargar el constructor , es que , usted quiere tener más de un método para la construcción de una nueva instancia cuenta. Usted puede decidir por sí mismo qué tipo de constructores se adapte a sus necesidades, pero al menos, no debería ser un constructor para crear una nueva cuenta dado un número de cuenta y el saldo inicial , por lo que añadir el siguiente método a la clase : /*** Crear una nueva cuenta * @ param AccountNumber el número de la cuenta * @ param saldo de la cuenta de balance de comienzo * /SavingsAccount ( numeroCuenta cadena , balance BigDecimal ) { this.accountNumber = numeroCuenta ; this.balance = resultado ; } Crear un equilibrio " getter " y un método performTransaction . Es una práctica de programación orientada a objetos estándar para crear getters y setters para todos los campos de una clase. Sin embargo , esto no es apropiado para el campo de saldo . Mientras que se debe permitir que el equilibrio que se ve , no quiere manipulaciones arbitrarias en el equilibrio . Más bien, desea que todos los cambios en el equilibrio que se produzca en la forma de una transacción. Por lo tanto , añadir los dos métodos siguientes para la clase /*** @ return el saldo actual * /BigDecimal getBalance (). { Saldo return;} /*** Realiza una transacción en la cuenta. * @ param cantidad la cantidad a retirar /depositar? Retira deberán ser negativos . Los depósitos deben ser positivos . * @ Return verdadero del éxito. Falso si no tiene éxito . Una alternativa al uso de un valor lógico en este caso sería crear una clase " TransactionFailedException " que podría proporcionar al usuario más información acerca de las razones del fracaso . * /Booleano performTransaction ( cantidad BigDecimal ) { if ( amount.compareTo ( BigDecimal.ZERO ) = = -1 ) {//Esto es un withdrawif ( amount.abs () compareTo (balance) == 1 ) {//la cantidad retirada es mayor que el balance.return false; . } else {//No es suficiente dinero para cubrir la retirada . Modificar el balance y registrar la transaction.balance = balance.add ( cantidad ) ; transactions.add ( cantidad ) ; return true ;} } else {//Esto es un depósito. Añadir a la balanza y registrar el transaction.balance = balance.add ( cantidad ) ; transactions.add ( cantidad ) ; return true ;} } Esto proporciona la clase de cuenta de ahorro con el mínimo que necesita para funcionar , aunque todavía hay mejoras que se pueden hacer a la misma. Titular de la cuenta y las transacciones deben ser sus propias clases , en lugar de cadenas simples y BigDecimals , ya que es posible que desee almacenar más información acerca de una transacción que simplemente la cantidad en cuestión .
3
4