/** Un conto bancario ha un saldo che può essere modificato da depositi e prelievi */ public class BankAccount { /** Costruisce un conto bancario con saldo assegnato @param initialBalance il saldo iniziale */ public BankAccount(double initialBalance) { // genera il successivo nmero di conto da assegnare lastAssignedNumber++; // aggiorna la variabile di classe //assegna il numero di conto di questo conto bancario accountNumber = lastAssignedNumber; // aggiorna la variabile istanza this.balance = initialBalance; } /** Costruisce un conto bancario con saldo uguale a zero */ public BankAccount() { this(0); } /** Versa denaro nel conto bancario @param amount l'importo da versare */ public void deposit(double amount) { double newBalance = this.balance + amount; this.balance = newBalance; } /** Preleva denaro dal conto bancario @param amount l'importo da prelevare */ public void withdraw(double amount) { double newBalance = this.balance - amount; this.balance = newBalance; } /** Ispeziona il valore del saldo attuale del conto bancario @return il saldo attuale */ public double getBalance() { return this.balance; } private double balance; private int accountNumber; private static int lastAssignedNumber = 0; }