Introduzione all uso degli oggetti in Java (parte II) Walter Didimo

Documenti analoghi
Esercizi sulla definizione di classi (Fondamenti di Informatica 1 Walter Didimo) Soluzioni

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre Negli esercizi proposti si utilizzano le seguenti classi:

IL CONCETTO DI FILE. È illecito operare oltre la fine del file.

Gestione di files Motivazioni

INTRODUZIONE ALLE BASI DATI RELAZIONALI

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

Files in C++ Fondamenti di Informatica. R. Basili. a.a

Soluzioni degli esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

2) FILE BINARI: è una sequenza di byte avente una corrispondenza uno a uno con la sequenza ricevuta dal dispositivo esterno.

public double getlato() restituisce la lunghezza del lato del quadrato che esegue il metodo.

AE RZT QSO RKPT SQZC

ESERCIZI IN PIÙ I NUMERI COMPLESSI

Laboratorio di Programmazione Lezione 1. Cristian Del Fabbro

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a prof.

Uso degli oggetti. Un programma Java. è un insieme di oggetti, ognuno istanza di una classe, che si inviano messaggi

Java Native Interface Appunti

Unità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.

UD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita

Esercizi della lezione 5 di Java

Ingegneria del Software

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni

SQL Server Architettura Client-Server. SQL Server Introduzione all uso di SQL Server Dutto Riccardo.

Refactoring 5 Sposta Metodo. 5 Sposta Metodo. 5 Sposta Metodo - Codice iniziale

Acquisto corsi online da parte di aziende

ALLEGATO: ISTRUZIONI PER L OPERATORE DI SEDE PER ACQUISIRE LE DOMANDE TELEMATICHE DI RICONGIUNZIONE

Programmazione Orientata agli Oggetti in Linguaggio Java

L INTERFACCIA GRAFICA DI EXCEL

La programmazione nel linguaggio C

Manuale utente Soggetto Promotore Erogatore Politiche Attive

Le variabili. Olga Scotti

Guida alla registrazione dal Portale

Sistemi Operativi Anno Accademico 2011/2012. Segnali: Interrupt software per la gestione di eventi asincroni

PowerDIP Software gestione presenze del personale aziendale. - Guida all inserimento e gestione dei turni di lavoro -

Questa è la finestra dei dettagli, è possibile selezionare anche da qui un modello o un pezzo per essere aperto.

OpenDataLazio Formia 9 aprile 2015 Laboratorio. Roberto Angeletti

Manuale d uso DropSheep 4 imaio Gestione Pixmania-PRO Ver 1.1

Corso Eclipse. Prerequisiti. 1 Introduzione

Risoluzione di problemi ingegneristici con Excel

Gestione risorse (Windows)

ACCESS. Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati.

l'editing delle pagine web non è nella forma ma nella metodologia di costruzione e di pubblicazione.

Per poter interagire con un database in rete mediante uno script php bisogna. innanzitutto cerare una connessione. Ciò si ottiene mediante la funzione

Esercitazione 4. Comandi iterativi for, while, do-while

WINDOWS TERMINAL SERVER PER L ACCESSO REMOTO AL SISTEMA DI PROTOCOLLO INFORMATICO

Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x.

M n a u n a u l a e l e o p o e p r e a r t a i t v i o v o Ver /12/2014

Business Communications Manager Telefono Internet i2002 Scheda per l'utente

TUTORIAL LIBRI IN SIMBOLI

III Fase. Gestione dell Impresa: Magazzino

Grafici e Pagina web

Progetto B. Utenti. Di conseguenza si potranno avere solo utenti di questi tipi

20 - Input/Output su File

Software gestione tesseramenti. - Guida alla definizione e utilizzo dei corsi e attività -

Modellazione Poligonale Avanzata

Corso sul linguaggio Java

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

ALBO VOLONTARIATO (v. 2.1) UTENTE ORGANIZZAZIONE VOLONTARIATO

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50

13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti

EXCEL. Alfabetizzazione Informatica Prof. GIUSEPPE PATTI

PROFESSIONISTA IN REGIME ORDINARIO

ARCHITETTURA FISICA DEL SISTEMA

Laboratorio di Progettazione di Sistemi Software Progetto: modellazione di un dominio e sue attività

I servizi del SITR-IDT

Manuale Sito Videotrend

Come usare la piattaforma StartUp

REGISTRO DELLE IMPRESE

10.4. La classe File e gli attributi di directory e file

LAVORI ESTIVI DI INFORMATICA PER LA CLASSE IV Sez. Ainf (Prof. Tessore Luca)

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Manuale Utente per la Gestione dei Revisori degli Enti Locali

IL SITO ISTITUZIONALE DELLA SCUOLA ITIS E. MATTEI - URBINO MANUALE D USO

B2B. Manuale per l utilizzatore.

PG5 Starter Training Applicazione File System Daniel Ernst EN Stefano Peracchi IT

Concetti Base Eccezioni Eccezioni e Metodi Gerarchia di Eccezioni. Java: Eccezioni. Damiano Macedonio

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Il calcolatore. Architettura di un calcolatore (Hardware)

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

Scritto da Scirpoli, Fava, Paolucci, Mazzeo Giovedì 19 Maggio :09 - Ultimo aggiornamento Giovedì 19 Maggio :41

FOCUS IL MERCATO IMMOBILIARE: DIVERSIFICARE PER SPECIALIZZARE. Mercoledì 2 dicembre 2015 NAPOLI Tiempo Business Center

Algoritmi di Ricerca. Esempi di programmi Java

Come avviare P-touch Editor

MANUALE UTENTE PROCEDURA PLANET WEB INTERPRISE (II edizione)

Mobile Programming. Prova scritta del 22/01/2016. Prof. De Prisco. Corso di laurea in Informatica

Informatica Teorica. Macchine a registri

Tale attività non è descritta in questa dispensa

un programma Java 2.1 Scrittura, compilazione ed esecuzione

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

Video Scrittura (MS Word) Lezione 1 Funzioni di base

Funzioni. Il modello console. Interfaccia in modalità console

Lettura e scrittura di file di dati input/output

Come scrivere una relazione scientifica

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni server

Laboratorio di Elementi di Bioinformatica

La prima applicazione Java. Creazione di oggetti - 1. La prima applicazione Java: schema di esecuzione. Gianpaolo Cugola - Sistemi Informativi in Rete

4 GLI ARRAY E LE STRINGHE

Transcript:

Introduzione all uso degli oggetti in Java (parte II) Walter Didimo

Esercizio all uso di oggetti Nel corso viene fornita una classe i cui oggetti permettono di leggere dati immessi dalla tastiera la classe InputWindow vogliamo imparare ad usare gli oggetti ti tipo InputWindow vogliamo anche esercitarci ad usare oggetti di altre classi già definite

La classe InputWindow Un oggetto di tipo InputWindow permette di acquisire dati immessi da tastiera attraverso un piccolo pannello grafico

Creazione di oggetti InputWindow La classe InputWindow mette a disposizione un solo costruttore per creare i suoi oggetti InputWindow ( ) Per creare un oggetto di tipo InputWindow occorre dunque scrivere new InputWindow ( )

Lettura di dati con InputWindow Ad un oggetto di tipo InputWindow possiamo chiedere di leggere dati di vario tipo immessi da tastiera: numeri interi (int), numeri reali (double), stringhe (String), ecc. La trattazione sistematica dei tipi di dato tipi di dato in Java sarà oggetto di una prossima lezione; per ora procediamo con degli esempi

Metodi di InputWindow Per ogni tipo di dato che un oggetto InputWindow può acquisire da tastiera, esiste un metodo apposito che acquisisce tale dato e lo restituisce int readint (); double readdouble (); String readstring ();..

Il semplice programma Echo Come primo esempio, realizziamo un semplice programma che acquisisce una stringa immessa da tastiera dall utente, e che visualizza tale stringa in una finestra sullo schermo Il programma sarà formato dalle classi InputWindow ed OutputWindow (già definite), e dalla classe Echo, che dobbiamo definire La classe Echo conterrà il solo metodo main ed utilizzerà oggetti di InputWindow ed OutputWindow

Schema del programma Echo 1: Avvia il programma void main( ) 3: new OutputWindow( Echo ) OutputWindow 2: new InputWindow ( ) 4: readstring( ) 5: write (s). void write(string s).. InputWIndow in:inputwindow out:outputwindow. String readstring ()... String readstring ()... void write(string s)..

Il codice della classe Echo class Echo{ /* Visualizza una stringa inserita dall utente*/ public static void main (String[] args){ InputWindow in = new InputWindow (); OutputWindow out = new OutputWindow ( Echo ); String str = in.readstring(); out.write(str); Discutiamo nel seguito le varie linee di codice del metodo main della classe Echo

Creazione di un oggetto InputWindow class Echo{ /* Visualizza una stringa inserita dall utente*/ public static void main (String[] args){ InputWindow in = new InputWindow (); OutputWindow out = new OutputWindow ( Echo ); String str = in.readstring(); out.write(str); Utilizza il new ed un costruttore per creare un oggetto di tipo InputWindow; il riferimento viene memorizzato nella variabile in

Creazione di un oggetto OutputWindow class Echo{ /* Visualizza una stringa inserita dall utente*/ public static void main (String[] args){ InputWindow in = new InputWindow (); OutputWindow out = new OutputWindow ( Echo ); String str = in.readstring(); out.write(str); Analogamente viene creato un oggetto OutputWindow ed il suo riferimento è memorizzato nella variabile out; la finestra di output avrà il titolo Echo

Leggere un dato da tastiera class Echo{ /* Visualizza una stringa inserita dall utente*/ public static void main (String[] args){ InputWindow in = new InputWindow (); OutputWindow out = new OutputWindow ( Echo ); String str = in.readstring(); out.write(str); Questa istruzione è una istruzione composta: legge una stringa immessa da tastiera e la memorizza in una variabile riferimento opportuna

Leggere un dato da tastiera in.readstring.readstring() Quando si invoca il metodo readstring() sull oggetto in, tale metodo apre una finestra sullo schermo ed attende che l utente immetta una stringa e prema OK quindi il metodo termina, ed all espressione in.readstring.readstring() rimane associata la stringa inserita

Stringhe ed oggetti String Una stringa (sequenza di caratteri) viene rappresentata in Java tramite un oggetto, la cui classe è la classe String La classe String è predefinita nella API di Java ed offre molte funzionalità utili (le studieremo in seguito) Il metodo readstring() restituisce il riferimento ad un oggetto di tipo String, che rappresenta la stringa immessa dall utente

Memorizzare una stringa Possiamo memorizzare il riferimento restituito da readstring() in una opportuna variabile di tipo String, utilizzando l operatore di assegnamento = String str = in.readstring.readstring() La variabile che stiamo usando ha il nome str

Visualizzare la stringa class Echo{ /* Visualizza una stringa inserita dall utente*/ public static void main (String[] args){ InputWindow in = new InputWindow (); OutputWindow out = new OutputWindow ( Echo ); String str = in.readstring(); out.write(str); Invocando il metodo write sull oggetto out, visualizziamo nella finestra dal titolo Echo la stringa inserita dall utente, cioè quella memorizzata in str

Visualizzare la stringa class Echo{ /* Visualizza una stringa inserita dall utente*/ public static void main (String[] args){ InputWindow in = new InputWindow (); OutputWindow out = new OutputWindow ( Echo ); String str = in.readstring(); out.write(str); Il metodo write accetta una stringa come parametro; questo significa che possiamo passare ad esso anche riferimenti ad oggetti String, oltre che letterali stringa

Il risultato

Ancora sui metodi di InputWindow Il metodo readstring() di un oggetto di tipo InputWindow apre un pannello con un messaggio ( Insert a string ) che chiede di inserire una stringa Esiste anche una variante, readstring (String s), che permette di cambiare il messaggio Insert a string con il messaggio s passato come parametro in.readstring ( Inserisci una stringa )

Un altro programma Vogliamo scrivere ora un programma che risolve equazioni di secondo grado Il programma utilizzerà una classe, EquazioneDiSecondoGrado, che immaginiamo sia già stata definita Un oggetto di tipo EquazioneDiSecondoGrado èin grado di rappresentare un equazione di secondo grado nella forma ax 2 + bx + c = 0 e di restituirci le sue soluzioni reali

I metodi di EquazioneDiSecondoGrado /* il costruttore permette di creare un oggetto della classe, che rappresenta l equazione ax 2 + bx + c = 0 */ EquazioneDiSecondoGrado (double a, double b, double c) /* visualizza le soluzioni (reali) sullo standard output (finestra non grafica) */ void stampasoluzioni () /* visualizza le soluzioni (reali) sulla finestra grafica rappresentata dall oggetto OutputWindow passato come parametro */ void stampasoluzioni (OutputWindow out)

Overloading di metodi La classe EquazioneDiSecondoGrado ha due metodi con lo stesso nome, i metodi stampasoluzioni() e stampasoluzioni(outputwindow out) Essi hanno però diversa signature Una classe può avere molti metodi con lo stesso nome (overloading di metodi) ma non due metodi con la stessa signature!!

Specifiche del programma Il programma chiederà all utente di inserire i coefficienti dell equazione da calcolare e poi visualizzerà le soluzioni, sia su finestra grafica sia sullo standard output L equazione si assume nella forma ax 2 + bx + c = 0, dove ciascuno dei coefficienti a, b e c può essere un numero reale a piacere

Struttura del programma Il programma si comporrà delle seguenti classi: EquazioneDiSecondoGrado (già scritta) InputWindow (già scritta) OutputWindow (già scritta) CalcolaEquazione (da scrivere) contiene il solo metodo main

Il codice della classe CalcolaEquazione class CalcolaEquazioni{ public static void main (String[] args){ InputWindow in = new InputWindow (); double a = in.readdouble ("Inserisci il coeff. a"); double b = in.readdouble ("Inserisci il coeff. b"); double c = in.readdouble ("Inserisci il coeff. c"); EquazioneDiSecondoGrado eq = new EquazioneDiSecondoGrado(a,b,c); eq.stampasoluzioni (); OutputWindow out = new OutputWindow(); eq.stampasoluzioni (out);