ADT for BankAccount Members: private static long assignAccountNumber private double penalty private long acctNumber; private double balance; private String name; Methods: Constructor: PRECONDITIONS: none INPUT: Accountname and OpeningBalance PROCESS: It creates the account and assigns name to be Accountname and balance to be OpeningBalance. It assigns accNumber to be assignAccountNumber and increments assignAccountNumber by one. OUTPUT: none POSTCONDITIONS: The account is created and name, accNumber, and balance have been assigned. Constructor: PRECONDITIONS: none INPUT: Accountname PROCESS: It creates the account and assigns name to be Accountname and balance to be zero. It assigns accNumber to be assignAccountNumber and increments assignAccountNumber by one. OUTPUT: none POSTCONDITIONS: The account is created and name and accNumber have been assigned. balance is set to zero. deposit PRECONDITIONS: amount must be positive INPUT: amount to be deposited PROCESS: It adds the amount to the balance. If the amount is positive, a 0 is returned, else a 1 is returned. of the outcome of the transaction. OUTPUT: int POSTCONDITIONS: balance is changed withdraw PRECONDITIONS: amount be positive. There must be sufficient funds to cover the withdrawal. INPUT: amount to be withdrawn PROCESS: It subtracts the amount from balance. If there is not sufficient funds for withdrawal, a penalty is assessed. If the amount sent is negative, a 1 is returned. If insufficient funds for the withdrawal, a 2 is returned. If successful, a 0 is returned. OUTPUT: int POSTCONDITIONS: balance is changed transfer PRECONDITIONS: amount be positive. There must be sufficient funds to cover the withdrawal. INPUT: amount to be transferred and acc to where transfer is to put PROCESS: It subtracts the amount. If there is not sufficient funds for withdrawal, a penalty is assessed. It deposits the amount into the transfer account. If the amount sent is negative, a 1 is returned. If insufficient funds for the withdrawal, a 2 is returned. If successful, a 0 is returned. OUTPUT: int POSTCONDITIONS: balance is changed getBalance PRECONDITIONS: none INPUT: none PROCESS: It returns the current balance. OUTPUT: balance POSTCONDITIONS: none getAccountNumber PRECONDITIONS: none INPUT: none PROCESS: It returns the acctNumber. OUTPUT: acctNumber POSTCONDITIONS: none getName PRECONDITIONS: none INPUT: none PROCESS: It returns the name. OUTPUT: name POSTCONDITIONS: none setName PRECONDITIONS: none INPUT: the new name PROCESS: It sets the name to its new value. OUTPUT: none POSTCONDITIONS: name has been changed getPenalty PRECONDITIONS: none INPUT: none PROCESS: It returns the penalty. OUTPUT: penalty POSTCONDITIONS: none setPenalty PRECONDITIONS: none INPUT: the new penalty PROCESS: It sets the penalty to its new value. OUTPUT: none POSTCONDITIONS: penalty has been changed toString PRECONDITIONS: none INPUT: none PROCESS: It returns a string which is to be used in the System.out to generate output. OUTPUT: A String which is the output of printing the account. POSTCONDITIONS: none