Una "vera" classe.. ..un esempio pratico: la calcolatrice

Slides:



Advertisements
Presentazioni simili
Introduzione al linguaggio C++
Advertisements

Funzioni e procedure Ogni linguaggio di programmazione ad alto livello mette a disposizione del programmatore questi strumenti, ed il C non è da meno!
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità A2 Java: le basi del linguaggio.
Oggetti Java.
Costruttori e Distruttori
Recupero debito quarto anno Primo incontro
LE FUNZIONI IN C Sommario 1 Introduzione 2 Moduli di programma in C
MATLAB.
Differenze nei vari linguaggi di Elisa Trifirò e Barbara Tacchino
Programmazione Ingegneria TLC
Classi ed Oggetti in Java (Cenni). Richiami Ruolo delle Classi in Java Oggetti.
Liste Ordinate 3 Maggio Ultima Lezione Abbiamo visto i tipi di dato astratti IntList e StringList Realizzano liste di interi e di stringhe Realizzati.
LIP: 1 Marzo 2005 Classe Object e Vettori. Partiamo da Lesercizio dellultima esercitazione realizzato tramite array Vedremo come si puo fare in modo piu.
Fondamenti di Informatica
Argomenti dalla linea dei comandi Gli argomenti possono essere passati a qualsiasi funzione di un programma, compresa la main(), direttamente dalla linea.
Tipi di dato e controllo del flusso Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione Università di Siena Via Roma 56 – – SIENA.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Introduzione a JAVA Anno Accademico 2009/2010.
1 Corso di Informatica (Programmazione) Lezione 12 (19 novembre 2008) Programmazione in Java: i metodi statici.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Assegnamento di valore a una variabile Anno Accademico 2009/2010.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) JAVA: funzione di output a video Anno Accademico 2009/2010.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) JAVA: i commenti Anno Accademico 2009/2010.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Esercizi vari Esercizi.
Introduzione al linguaggio Java
1 Lezione XIII Lu 17-Nov-2005 Programmare le classi.
Soluzione Esercizio - Classe Vettore
Gestione dei Progetti Software 2 (a.a. 2004/05) - Lezione 3 1 JAVA e Internet: il World Wide Web Internet: milioni di computer collegati fra di loro attraverso.
Programmazione Corso di laurea in Informatica
Selezione (=scelta) con “if-else”
Primi programmi in Java
CAPITOLO 1 JAVA: UN TUFFO NEL LINGUAGGIO E NELL'AMBIENTE.
Programmazione in Java
Programmazione in Java Claudia Raibulet
Javascript 6 Funzioni. Una funzione sarà eseguita in risposta ad un evento o ad una chiamata diretta. Le funzioni possono essere inserite comodamente.
I Metodi in Java Il termine "metodo" è sinonimo di "azione". Quindi, affinché un programma esegua qualche istruzione, deve contenere metodi.
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 2007 NOME: COGNOME: ________________________________________________________________________________.
Un esempio: Calcolo della potenza n-esima di un numero reale
11/11/2004Laboratorio di Programmazione - Luca Tesei1 Operazioni numeriche - Input Espressioni, funzioni matematiche, classi involucro, Acquisizione di.
Corso JAVA Lezione n° 12 Istituto Statale di Istruzione Superiore “F. Enriques”
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 2007 NOME: COGNOME: ________________________________________________________________________________.
Conversione da base 10 a base X (Utilizzo della pila)
Corso di Programmazione in Java – Esercizio n° 001
1 Applet ed HTML Fondamenti di Informatica Corso D.
Appunti di Java (J2SDK 1.4.2, JDK 1.6.0) prof. Antonella Schiavon settembre 2009.
Le variabili in Java Nella programmazione tradizionale, una variabile è una porzione di memoria in cui è immagazzinato un certo tipo di dato. Per esempio.
JAVA Per iniziare. Verificare installazione javac –version java –version Cercare i files e sistemare eventualmente il path.
Java gestione eventi introduzione. La gestione degli eventi Ci sono 3 oggetti interessati alla g. d. e.: L’oggetto interessato (event source) ad esempio.
Incapsulamento e information hiding
1 Corso di Informatica (Programmazione) Lezione 8 (7 novembre 2008) Programmazione in Java: operatori aritmetici, operatori di assegnamento e cast.
Introduzione a Javascript
30/11/2004Laboratorio di Programmazione - Luca Tesei1 Interfacce e Polimorfismo.
Ereditarieta’. Contenuti Introduciamo un meccanismo fondamentale di Java: l’ereditarieta’ Permette di estendere classi gia’ definite (ovvero di definire.
Corso di Algoritmi e Strutture Dati APPUNTI SUL LINGUAGGIO C
Capitolo 6 Iterazione Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
Strutture di controllo Esercizi!. Utilizzare i metodi: I modi per poter richiamare un metodo, di una classe (ad esempio SavitchIn) sono due. 1) E’ sempre.
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Gestione dei thread in Java
Programmazione in Java
1 Il linguaggio C Precisazioni sull’esperienza in laboratorio.
Progettare una classe 21 Febbraio La classe BankAccount Vogliamo realizzare una classe i cui oggetti sono dei semplici conti bancari. * Identifichiamo.
Fondamenti di informatica T-A Esercitazione 2 : Linguaggio Java, basi e controllo del flusso AA 2012/2013 Tutor : Domenico Di Carlo.
1 Java primo contatto Quando le classi fanno la differenza …
1 Java secondo contatto Nel tunnel una luce…. 2 Esercizio - Contatore Definire la classe Contatore con le seguenti caratteristiche:  Il metodo getValore.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Librerie… Marco D. Santambrogio – Ver. aggiornata al 20 Luglio 2015.
13/08/02Input 1 Interagire con il computer Da tastiera Da riga di comando Funzioni di conversione.
Input in Java. Uso Scanner Un oggetto per la lettura dalla tastiera Piuttosto, per rappresentare la tastiera del nostro calcolatore useremo un oggetto.
Metodi in Java. Note Identificazione input: (il raggio è un numero reale !!!) Identificazione delle operazioni necessarie al calcolo Area=r*r*PI Circonferenza=2*r*PI.
Transcript della presentazione:

Una "vera" classe.. ..un esempio pratico: la calcolatrice Java Una "vera" classe.. ..un esempio pratico: la calcolatrice

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..)

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

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

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..

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

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

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 … */

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

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..

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

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

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;

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) ); }