Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoOrnella Carletti Modificato 9 anni fa
1
Una "vera" classe.. ..un esempio pratico: la calcolatrice
Java Una "vera" classe.. ..un esempio pratico: la calcolatrice
2
Cos'è una classe una classe è un modo organizzato di scrivere del codice in modo da poterlo riutilizzare tante e tante volte, dimenticandoci di come esso funziona internamente. ad esempio, supponiamo di dover scrivere un programma per fare dei conti al momento non so ancora esattamene come saranno inseriti i dati (da tastiera, da un file, via internet..) ma so che avrò comunque due numeri e un operatore (più, meno, per, diviso..)
3
Cos'è una classe Iniziamo quindi a progettare una classe Calcolatrice cercando di tenermi più generico possibile.. per esempio userò numeri con la virgola al posto degli interi cosa deve fare questa classe? addizioni, sottrazioni, moltiplicazioni e divisioni.. le cose che deve fare di solito si traducono in metodi (le funzioni della programmazione strutturata) e di solito si nominano con dei verbi
4
Cos'è una classe quindi la nostra classe calcolatrice avrà dei metodi come somma(…..) sottrai(…..) dividi(…..) moltiplica(….) questi 4 metodi hanno tutti bisogno di due operandi, ad esempio double a, double b
5
Cos'è una classe NOTA BENE: non c'è un modo giusto di progettare una classe, ci sono infinite soluzioni che possono essere confrontate su: leggibilità del codice/chiarezza della documentazione immediatezza d'uso complessità effettiva possibilità di riutilizzo/ estendibilità velocità di esecuzione / peso / dipendenze..
6
Cos'è una classe ad esempio, per i due operandi e per il risultato possiamo avere diverse soluzioni: variabili pubbliche variabili private variabili passate al metodo ..e varie combinazioni di queste soluzioni
7
Cos'è una classe scelgo.. di passare ai metodi i due operandi
di far si che i metodi stessi restituiscano il risultato, ma anche di memorizzare il risultato internamente alla classe utilizzando una variabile privata
8
class Calcolatrice Class Calcolatrice {
//variabile privata della classe private double risultato = 0.0; double somma(double a, double b){ this.risultato = a + b; return this.risultato; } /* … sottrai, moltiplica, dividi … */
9
class Calcolatrice il this davanti alla variabile risultato non è necessario.. ma aumente la leggibilità. Nell'ottica di riutilizzare il codice, questa volta non scriveremo il main in questa classe, ma in un'altra che salveremo nella stessa cartella. Creiamo una classe ProgrammaCalcoli con il main
10
class ProgrammaCalcoli
public static void main(String s[]) { //istanzio l' oggetto calc di classe Calcolatrice Calcolatrice calc = new Calcolatrice(); double x =216.2; double y = 965.4; System.out.println ( calc.somma(x, y) ); } Nota: questa classe è veramente poco significativa, al momento serve solo per testare la classe Calcolatrice..
11
java e javac in pratica javac compila le classi.. e crea i file .class
java esegue l'unica classe che ha il main e si preocuperà di utilizzare le varie classi chiamate, caricando i file .class Quindi: una sola classe avrà il main e dovrà essere compilata come tutte le altre, ma solo lei potrò essere eseguita (java) dopo che tutte le altre sono state compilate
12
class Calcolatrice aggiungiamo un metodo calcola che riceva come input i due operandi e l'operazione. L'operazione può essere definita tramite un char. aggiunto il metodo dovremo ricompilare la classe Calcolatrice, modificare la classe ProgrammaCalcoli, ricompilare ed eseguire la ProgrammaCalcoli
13
class Calcolatrice double calcola(double a, char operazione, double b){ switch ( operazione ) { case '+' : this.somma(a,b); break; case '-' : this.sottrai(a,b); break; case '/' : case ':' : this.dividi(a,b); break; case '*' : case 'x' : this.moltiplica(a,b); break; } return risultato;
14
class ProgrammaCalcoli
public static void main(String s[]) { //istanzio l' oggetto calc di classe Calcolatrice Calcolatrice calc = new Calcolatrice(); double x =216.2; double y = 965.4; System.out.println ( calc.somma(x, y) ); System.out.println ( calc.calcola(x, '+', y) ); }
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.