OOP: conto corrente

Il codice che vi propongo oggi ha a che vedere con qualcosa che facciamo quotidianamente: depositare e prelevare soldi da un conto bancario. Grazie a questo codice java riesce a calcolare i soldi presenti nel conto anche quando esso varia: aggiungendone quando si deposita e togliendone quando si preleva denaro.

Ecco la consegna dell’ esercizio

Progettiamo ora una classe che descrive il comportamento di un conto bancario. Per farlo, percorreremo tutti i passi necessari per progettare una nuova classe.
Prima di iniziare a programmare, occorre capire come si comportano gli oggetti della classe. Consideriamo che tipo di operazioni possiamo svolgere con un conto bancario:

depositare denaro
prelevare denaro
chiedere il saldo attuale

In Java, queste operazioni si effettuano grazie a chiamate di metodi. Supponiamo di avere una variabile contoDiMarco che contiene un riferimento a un oggetto di tipo ContoCorrente. Vorremmo poter chiamare metodi di questo genere:

contoDiMarco.deposita(2000);
contoDiMarco.preleva(500);
System.out.println(contoDiMarco.getSaldo());

In pratica, la classe ContoCorrente dovrebbe definire tre metodi:

deposita (metodo modificatore o di comando)
preleva (metodo modificatore o di comando)
getSaldo (metodo osservatore)

 

 

Ecco il codice nel main

package conto.bancario;
import java.util.Scanner;
public class ContoBancario {
    public static void main(String[] args) {
Scanner in = new Scanner (System.in);

//creo un nuovo oggetto ContoCorrente che si chiama ContoDiMarco
contocorrente ContoDiMarco = new contocorrente();

//il programma chiede quanti soldi sono stati depositati e
//assegna il valore inserito alla variabile sd
System.out.println(“Soldi depositati: “);
ContoDiMarco.sd = in.nextDouble();
ContoDiMarco.Depositare(ContoDiMarco.sd);

//il programma chiede quanti soldi sono stati prelevati e
//assegna il valore inserito alla variabile sp
System.out.println(“Soldi prelevati: “);
ContoDiMarco.sp = in.nextDouble();
ContoDiMarco.Prelevare(ContoDiMarco.sp);

//il programma stampa il valore del saldo del conto corrente
ContoDiMarco.GetSaldo();

}
}

ecco il codice nella classe contocorrente

package conto.bancario;
public class contocorrente {

/**
* Soldi da depositare
*/
public double sd;

/**
* Soldi da prelevare
*/
public double sp;

/**
* Saldo
*/
public double s;

/**
* Metodo costruttore: inizializzo sp = 0; sd = 0 e s = 0
*/
public contocorrente(){
this.s = 0;
this.sd = 0;
this.sp = 0;
}

/**
* Metodo che permette di depositare una cifra di soldi
*/
public double Depositare(double sd){
//il saldo del conto è uguale al saldo iniziale sommato alla
//cifra di denaro depositato
s = s + sd;
return sd;
}

/**
* Metodo che permette di prelevare una certa cifra di soldi
*/
public double Prelevare(double sp){
//il saldo del conto è uguale al saldo iniziale meno i soldi prelevati
s = s – sp;
return sp;
}

/**
* Metodo che stampa il saldo del conto
*/
public double GetSaldo(){
//stampa il saldo
System.out.println(“Saldo: ” + s);
return s;
}
}

Precedente OOP: password Successivo OOP: personaggi famosi