Fondamenti di Informatica Corsi di Laurea in Ingegneria Gestionale Canale AL ESERCITAZIONE 6 ARGOMENTI: LAVORARE CON CLASSI METODI DELLISTANZA, COSTRUTTORI.

Slides:



Advertisements
Presentazioni simili
1 Le s-espressioni. 2 Un nuovo esempio completo: le s-espressioni Sexpr 4 alberi binari (possibilmente vuoti) che hanno sulle foglie atomi (stringhe)
Advertisements

1 Progettazione gerarchica delle s- espressioni, utilizzando lereditarietà
Modello dati LISTA LISTA: LISTA: sequenza finita di 0 o più elementi LISTA di tipo T: lista in cui tutti gli elementi sono dello stesso tipo T. es. lista.
Interfacce Java.
Capitolo 4 Classi Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
Capitolo 2 Nozioni fondamentali su Java Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill.
Capitolo 7 Programmazione con metodi e classi Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © 2004.
Alcune Classi Standard Object, Vettori. Esercizio dellultima volta Superclasse Persona Sottoclasse Libro.
Esercizio 2. Mostrare l'evoluzione dello stato (ambiente di classi, heap, pila, System.out) durante la valutazione delle seguenti dichiarazioni di classe.
Esempio: Tombola! Parte seconda.
Unified Modeling Language class C {…} class B extends C {…} Esiste una notazione grafica per mostrare le relazioni di ereditarietà. Object StringC B Tutte.
Sezione: Costruttori Costruttori. Definizione dei costruttori Se per una classe A non scrivo nessun costruttore, il sistema automaticamente crea il costruttore.
prompt> java SumAverage
1 struct Pila { private: int size; int defaultGrowthSize; int marker; int * contenuto; void cresci(int increment); public: Pila(int initialSize) ; Pila();
1 Ultima Lezione del Corso di Fondamenti di Informatica 1 a.a – 06 Ma 29-Nov-2005.
1. Conoscere luso delle collezioni in Java Comprendere le principali caratteristiche nelle varie classi di Collection disponibili Saper individuare quali.
JAVA C import java.util.*; #include <stdio.h>
Modello dati LISTA LISTA: LISTA: sequenza finita di 0 o più elementi LISTA di tipo T: lista in cui tutti gli elementi sono dello stesso tipo T. es. lista.
1 Implementazione di Linguaggi 2 PARTE 6 Implementazione di Linguaggi 2 PARTE 6 Massimo Ancona DISI Università di Genova Testo: A.V. Aho, R. Sethi, J.D.Ullman.
2000 Prentice Hall, Inc. All rights reserved. 1 Capitolo 6: Classi e astrazione dati 1.Introduzione 2.Definizione delle strutture 3.Accedere ai membri.
Sottoprogrammi e Unità di Compilazione Nicola Fanizzi Laboratorio - Corso di Programmazione (B) C.d.L. in Informatica DIB - Università degli Studi di Bari.
1 laboratorio di calcolo II AA 2003/04 ottava settimana a cura di Domizia Orestano Dipartimento di Fisica Stanza tel. ( )
Packages. Package: insieme di classi e interfacce in relazione Per formare un package basta inserire la direttiva come prima istruzione nel file sorgente.
Java base VI: Gestione I/O. Argomenti Introdurre le API per linput e output in Java.
Sequence. CREARE UNA SEQUENCE CREATE SEQUENCE nome [INCREMENT BY n] [START WITH n] [MAXVALUE n | NOMAXVALUE] [MINVALUE n | NOMINVALUE] [CYCLE | NOCYCLE]
Componenti dell’architettura Oracle
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria di Modena Corso di Laurea Specialistica in Ingegneria Informatica Analisi e valutazione.
Piero Scotto - C141 C14 #14 Puntatori e file. Il problema dellordinamento. Debug.
Lezione n° 05 Istituto Statale di Istruzione Superiore F. Enriques Corso JAVA.
Un esempio: Registrazione e lettura di dati in un file
LABORATORI POMERIDIANI danza moderna, flauto, tedesco classi 4^ e 5^ 1° quadrimestre a.s. 2005/2006.
Microsoft Access Maschere.
Fondamenti di Informatica Corsi di Laurea in Ingegneria Gestionale Canale AL ESERCITAZIONE 4 ARGOMENTI: STRINGHE DI CARATTERI.
JavaScript Lezione 5 Tipizzazione ed operazioni tra tipi diversi Istruzioni di input.
Microsoft Access Cosa sono i database, microsoft access, le relazioni e le tabelle.
Primi passi con Windows: Gestione del Desktop Barra Applicazioni Menu Avvio ISTITUTO COMPRENSIVO N.7 - VIA VIVALDI - IMOLA Via Vivaldi, Imola.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 15 Aprile 2013 Gianluca Durelli – Marco D. Santambrogio –
C OME CREARE I FRAME. Dal pannello File fai doppio clic sul file default.html per aprire la pagina (figura 1.1). Figura 1.1 Il file default.html.
OUTPUT FORMATTATO La funzione printf consente di effettuare la stampa a video formattata. Sintassi: printf ( stringa_formato, arg0, arg1, … ); La stringa.
Tutorial relativo al Mio EBSCOhost. Benvenuti al tutorial dedicato a Mio EBSCOhost, verranno fornite le istruzioni per la configurazione e lutilizzo ottimizzato.
Modulo 1 bis Menù Incolla Esercitazione Un computer è quasi umano, a parte il fatto che non attribuisce i propri errori a un altro computer. (Anonimo)
Moduli o Form I Moduli permettono all'utente di immettere informazioni...
Project Review Località Sciistica 21 Dicembre 2011.
Sistema Informativo Demanio Idrico marzo Per aumentare lefficienza del servizio abbiamo realizzato un sistema in grado di gestire in modo integrato.
Statistica economica (6 CFU)
24 aprile 2002 Avvisi: Risultati 1 o Esonero: (entro) lunedi 27 disponibili nella pag. WEB, ma anche esposti nella bacheca fuori dal corridoio 2 o dente,
Ese 2 (del 31 Marzo 2004). Mostrare l'evoluzione dello stato (ambiente di classi, heap, pila, System.out) durante la valutazione delle seguenti dichiarazioni.
Multiset. Progettare (specifica con identificazione delle eventuali astrazioni necessarie, incluse eccezioni, e implementazione) del tipo di dato Multiset,
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
1 Simulated multiple inheritance Sandro Pedrazzini Approfondimento Simulated multiple inheritance in Java.
SUBQUERY Chi ha un salario maggiore di quello di Abel? Occorre scomporre la query in due sotto problemi: MAIN : quali impiegati hanno un salario maggiore.
2000 Prentice Hall, Inc. All rights reserved. I file Apertura e chiusura I file ad accesso sequenziale I file ad accesso casuale Apre un file già esistente.
Introduzione al linguaggio C. Cos’e’ il C? Il C e’ un linguaggio ad alto livello Un compilatore C prende in input un file contenente codice sorgente C.
1 Basi di dati (Sistemi Informativi) Scuola di Dottorato in Scienze Veterinarie per la Salute Animale e la Sicurezza Alimentare a.a Ing. Mauro.
Collection & Generics in Java
Fondamenti di informatica T-A Esercitazione 7 : Collezioni AA 2012/2013 Tutor : Domenico Di Carlo.
JDBC Java DataBase Connectivity SISTEMI ITIS B. CASTELLI Anno Scolastico
Test. 2 Compito 1 Esercizio 3 Creare una classe film con i seguenti attributi: titolo, genere, 3D, durata; creare inoltre il costruttore parametrizzato.
Cicli e Array. 2 Esercizio 1 La classe «Smartphone» ha i seguenti attributi: - Modello -Processore -Ram - Pollici -Sistema operativo -Disponibilità (boolean)
.  I tipi di dati non primitivi sono gli array, le struct e le union.  Gli array sono degli aggregati di variabili dello stesso tipo.  La dichiarazione.
Java World Matrici.
Corso Java Esercitazione.
Corso Java Esercizi.
Corso Java Matrici.
Composizioni di classi
Java Matrici.
APPUNTI SUL LINGUAGGIO C
Java Costruttore di copia e GetStatus.
Docente: Sabato Bufano
Transcript della presentazione:

Fondamenti di Informatica Corsi di Laurea in Ingegneria Gestionale Canale AL ESERCITAZIONE 6 ARGOMENTI: LAVORARE CON CLASSI METODI DELLISTANZA, COSTRUTTORI

Esercizio 1 Progettare ed implementare una classe Negozio, dotata delle seguenti proprietà: ragione sociale (stringa), nome del proprietario (stringa), ora di apertura (intero) e ora di chiusura (intero). La classe Negozio è dotata di: metodi get... () per accedere a tutti gli attributi, che ne ritornano il valore del campo relativo; metodi set... () per impostare i vari campi di un oggetto Negozio con valori passati come argomenti; un metodo stampaOrario, che visualizza l'orario del negozio. Ad esempio: Il negozio è aperto dalle 9:00 alle 21:00 Definire una classe ProvaNegozio1 che implementi un metodo main, che: 1.crea un oggetto Negozio, 2.chiede all'utente i dati mediante il metodo, JOptionPane.showInputDialog(...) con cui invochi i metodi della classe definita al punto precedente per inizializzare i campi dell'oggetto, 3.stampa i valori dei campi dell'oggetto, 4.stampa l'orario del negozio.

Esercizio 2 Modificare la classe Negozio dell'esercizio precedente aggiungendo: due costruttori. Un costruttore inizializza tutte le proprietà con dati forniti dagli argomenti del costruttore e laltro inizializza solo il nome del negozio e il nome del proprietario, inizializzando in modo predefinito (ore 10 e 18) lorario di apertura; un metodo toString() che restituisce una stringa organizzata cosi: Ragione sociale: "Pippo Abbigliamento Proprietario: Giulio Rossi Orario del negozio: 9:00 – 21:00. Definire una classe ProvaNegozio2 che implementi un metodo main, che: 1.chiede mediante il metodo, JOptionPane.showInputDialog(...) all'utente dei dati necessari alla creazione di due oggetti, 2.crea due oggetti Negozio: uno con il primo costruttore e il secondo con il secondo costruttore, 3.stampa il contenuto dei due oggetti chiamandoli con il metodo toString(), 4.imposta l'orario del secondo negozio, 5.stampa il contenuto dei due oggetti chiamandoli con il metodo toString().

Riassunto degli esercizi precedenti Finora avete progettato ed implementato una classe Negozio, dotata delle seguenti proprietà: ragione sociale (stringa), nome del proprietario (stringa), ora di apertura (intero) e ora di chiusura (intero). La classe Negozio è ormai dotata di: metodi getXxx() per accedere ad un attributo Xxx e ne riornano il valore; metodi setXxx() per impostare i vari campi di un oggetto Negozio con valori passati come argomenti; un metodo stampaOrario, che visualizza l'orario del negozio. Ad esempio: Il negozio è aperto dalle 9:00 alle 21:00

Esercizio 3 Modificare la classe Negozio aggiungendo: due costruttori. Un costruttore inizializza tutte le proprietà con dati forniti dagli argomenti del costruttore e l.altro inizializza solo il nome del negozio e il nome del proprietario, impostando come predefinito lorario di apertura: 10 e 18; un metodo toString() che restituisca una stringa organizzata cosi: Ragione sociale: "Giulio Abbigliamento Proprietario: Giulio Rossi Orario del negozio: 9:00. 21:00. Definire una classe ProvaNegozio2 che implementi un metodo main, che: 1. chieda mediante il metodo JOptionPane.showInputDialog(...) all'utente i dati necessari alla creazione di due oggetti, 2. crei i due oggetti Negozio: uno con il primo costruttore e il secondo con il secondo costruttore, 3. visualizzi il contenuto dei due oggetti chiamandoli con il metodo toString(), 4. imposti l'orario del secondo negozio, 5. visualizzi il contenuto dei due oggetti chiamandoli con il metodo toString().

La classe Calendar 1. Java propone una classe Calendar nel pacchetto java.util che rappresenta un istante (misurato in millessimi di secondo dall'inizio dello scorso secolo). 2. Un oggetto Calendar che rappresenta l'istante corrente (quello in cui si esegue il programma) si ottiene con il metodo statico getInstance() (con cui viene chiamata la classe Calendar): Calendar c = Calendar.getInstance(); 3. Un oggetto Calendar ha un metodo che converte l'istante in uno dei campi che compongono la data e l'ora dell'istante, cioè: YEAR, MONTH, DAY_OF_MONTH, HOUR etc. Il metodo get() riceve un parametro costante che indica il campo d'interesse. Esempi: int hour = c.get(Calendar.HOUR_OF_DAY); int min = c.get(Calendar.MINUTE); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH); int day = c.get(Calendar.DAY_OF_MONTH); Utilizzeremo la classe Calendar nell'implementazione del metodo eAperto() dell'esercizio successivo.

Esercizio 4 1. Aggiungere un metodo-predicato eAperto() che restituisca un valore boolean appropriato se il negozio è aperto o chiuso. 2. Aggiungere un metodo getMessaggio() che restituisca una stringa che indichi se il negozio è aperto ( Siamo aperti! ) o chiuso ( Siamo chiusi !) al momento della richiesta. Utilizziamo la funzionalità getMessaggio() per la definizione di una nuova classe ProvaNegozio3 che implementi un metodo main che: 1. chieda all'utente con JOptionPane.showInputDialog(...) dei dati necessari alla creazione di due oggetti, 2. crei un oggetto Negozio, 3. visualizzi il contenuto del oggetto chiamandolo con toString(), 4. visualizzi se il negozio è aperto o chiuso al momento della richiesta. Esempio: Ragione sociale: "Pippo Abbigliamento. Proprietario: Giulio Rossi Orario del negozio: 9:00. 21:00. Siamo aperti!

Esercizio 5 Fra tempo abbiamo scoperto che il negozio precedente è una libreria con centinaia di libri (che però non supera 200 titoli). Vogliamo aggiungere agli oggetti della classe la possibilità di stampare i titoli dei libri in magazzino. Seguite i seguenti passi: 1. Aggiungete alla classe Negozio una variabile array di stringhe titoli che memorizzi un oggetto-array contenente i titoli dei libri. 2. Aggiungete un costruttore che, tra gli altri parametri, riceva anche un array di stringhe con cui inizializzare titoli. 3. Aggiungete il metodo stampaTitoli che visualizzi i titoli dei libri in negozio. Definire una classe ProvaNegozio4 che implementi un metodo main, che: 1. chieda all'utente con JOptionPane.showInputDialog(...) i titoli e li memorizzi in un oggetto array di stringhe lista di 200 elementi. 2. crei un oggetto Negozio inizializzato - tra gli altri argomenti - con lista. 3. visualizzi i titoli chiamando il metodo stampaTitoli.