Determine how clients will use your class. To do this, consider writing a test class:
public class AccountTester {
public static void main(String[] args)
{
Account savings = new
Account(500.25);
Account checking = new Account();
savings.withdraw(200);
checking.deposit(200);
double bal = savings.getbalance();
// this should print $300.25:
System.out.println("savings =
$" + bal);
}
}
Design the public interface for your class:
public class Account {
public Account() {
}
public Account(double initBalance) {
}
public void withdraw(double amt) {
}
public void deposit(double amt) {
}
public double getbalance() {
return 0; // for now
}
} // end class Account
Add javadoc comments:
/**
* Instances of this class represent bank
accounts
*
* @author Pearce
* @version 1.0
*/
public class Account {
/**
* Creates an account with balance =
$0
*/
public Account() {
}
/**
* Creates an account with a specified
balance
*
* @param initBalance the initial
balance
*/
public Account(double initBalance) {
}
/**
* Reduces the balance by the
specified amount
*
* @param amt the amount to be
withdrawn
*/
public void withdraw(double amt) {
}
/**
* Increments the balance by the
specified amount
*
* @param amt the amount to be
deposited
*/
public void deposit(double amt) {
}
/**
* returns the current balance
*
* @returns the current balance
*/
public double getbalance() {
return 0; // for now
}
} // end class Account
Add the fields:
/**
* Instances of this class represent bank
accounts
*
* @author Pearce
* @version 1.0
*/
public class Account {
private
double balance;
/**
* Creates an account with balance =
$0
*/
public Account() {
}
/**
* Creates an account with a specified
balance
*
* @param initBalance the initial
balance
*/
public Account(double initBalance) {
}
/**
* Reduces the balance by the specified
amount
*
* @param amt the amount to be
withdrawn
*/
public void withdraw(double amt) {
}
/**
* Increments the balance by the
specified amount
*
* @param amt the amount to be
deposited
*/
public void deposit(double amt) {
}
/**
* returns the current balance
*
* @returns the current balance
*/
public double getbalance() {
return 0; // for now
}
} // end class Account
Implement the constructors and methods:
/**
* Instances of this class represent bank
accounts
*
* @author Pearce
* @version 1.0
*/
public class Account {
private double balance;
/**
* Creates an account with balance =
$0
*/
public Account() {
balance
= 0;
}
/**
* Creates an account with a specified
balance
*
* @param initBalance the initial
balance
*/
public Account(double initBalance) {
balance
= initBalance;
}
/**
* Reduces the balance by the
specified amount
*
* @param amt the amount to be
withdrawn
*/
public void withdraw(double amt) {
// if funds available
balance
= balance – amt;
}
/**
* Increments the balance by the
specified amount
*
* @param amt the amount to be
deposited
*/
public void deposit(double amt) {
// if 0 <= amt
balance
= balance + amt;
}
/**
* returns the current balance
*
* @returns the current balance
*/
public double getbalance() {
return
balance;
}
} // end class Account
Test, test, test