Linguaggi di Programmazione: Paradigmi di Programmazione
|
|
- Amando Cavallaro
- 5 anni fa
- Visualizzazioni
Transcript
1 Linguaggi di Programmazione: Paradigmi di Programmazione Strutture Dati: & Co. Matteo Baldoni Dipartimento di Informatica - Universita` degli Studi di Torino C.so Svizzera, I Torino (Italy) baldoni@di.unito.it - URL: Gli array sono oggetti veri e propri (e quindi vanno prima creati esplicitamente dal programmatore per essere utilizzati) Hanno una dimensione fissa (dopo la creazione) Esistono solo unidimensionali (ma e` possibile definire array di array) Il primo elemento ha indice 0 La creazione avviene mediante l operatore new Strutture Dati 2 1
2 Es.: la dichiarazione di un array che puo` contenere 100 numeri interi Gli elementi saranno indicizzati da 0 a 99 Controllo a run time sul valore dell indice tipo di un elemento dell array tipo array int[] arrayofint = new int[100]; nome dell array arrayofint[5] operatore che permette di creare un oggetto indice numero di elementi dell array Strutture Dati 3 Il nome dell array e` un puntatore ad una struttura contenente i vari elementi ma differenza del C/C++ il nome dell array non indica anche il primo elemento dell array stesso (non esiste un aritmetica dei puntatori) In Java non esistono analoghi di & e * del C/C++ int array_interi[]; int *array_interi; array_interi[2] *(array_interi + 2) in C/C++ sono equivalenti in C/C++ sono equivalenti Strutture Dati 4 2
3 Se assegno un array ad un altro non copio gli elementi che esso contiene ma semplicemente il valore del puntatore, i due array condivideranno la stessa struttura (esiste pero` arraycopy nella classe System) length (campo read-only) restituisce la lunghezza di un array int[] arrayofint = new int[6]; int[] altroofint; arrayofint altroofint altroofint = arrayofint; System.out.println(arrayOfInt.length); stampa 6 Strutture Dati 5 Inizializzazione di array Mediante un loop (tipicamente un ciclo for) oppure durante la definizione stessa array anonimi come parametri attuali int[] arrayofint = new int[100]; for (int i=0; i<100; i++) arrayofint[i] = i; int[] arrayofint = {1, 2, 4, 10; new int[] {1, 2, 4, 10 a.metodo(new int[] {1, 2, 4, 10); utile per array con pochi elementi utile per essere passato come parametro attuale di un metodo senza dover creare solo per questo una variabile Strutture Dati 6 3
4 multidimensionali Ossia array di array (ma non matrici!) Ossia un elemento di un array puo` essere a sua volta un array int[][] arrayofofint = new int[10][5]; int[][] arrayofofint = new int[10][]; for (int i=0; i<10; i++) arrayofofint[i] = new int[5]; quadrato di elementi 10 x 5 int[][] arrayofofint = new int[10][]; for (int i=0; i<10; i++) arrayofofint[i] = new int[i]; triangolo di elementi Strutture Dati 7 Gli array sono oggetti di prima classe Gli array sono built-in nel linguaggio L operatore [] e`un costruttore di tipo! public class Counter { private int c; Definisce il tipo Counter Counter[] arrayofcounters = new Counter[10]; Definisce il tipo array di Counter Strutture Dati 8 4
5 class Prova { public static void main(string[] args) { ClasseUno[] arrayclasseuno; ClasseDue[] arrayclassedue; ClasseTre[] arrayclassetre; ClasseDue[] arrayclasseduebis; arrayclassedue = new ClasseDue[] {new ClasseDue(2,3), new ClasseDue(3,4); arrayclasseuno = arrayclassedue; arrayclasseduebis = (ClasseDue[]) arrayclasseuno; arrayclassetre = new ClasseTre[] {new ClasseTre("ab"), new ClasseTre("cd"); arrayclasseuno = arrayclassetre;... Upcast di tutti gli elementi Errore! Downcast di tutti gli elementi Strutture Dati 9 class Prova { public static void main(string[] args) { ClasseUno[] arrayclasseuno; ClasseDue[] arrayclassedue;... arrayclassedue = new ClasseDue[] {new ClasseDue(2,3), new ClasseDue(3,4);... arrayclasseuno = arrayclassedue;... arrayclasseuno[0] = new ClasseUno(2); Errore a run-time!! A tempo di compilazione è corretto assegnare ad un campo dell array di tipo ClasseUno un elemento di tipo ClasseUno ma a run-time questo contiene un elemento di tipo ClasseDue, piu` specifico di ClasseUno, e quindi viene sollevata un eccezione di tipo StoreException Strutture Dati 10 5
6 La classe java.util.s Mette a disposizione una serie di metodi statici di utilita` per trattare con array: equals fill sort binarysearch Fa uso di equals e non di == Fa uso di compareto dell interfaccia Comparable per parametrizzare l algoritmo di ordinamento rispetto gli elementi Permette di usare anche oggetti di tipo Comparator (interfaccia) per parametrizzare rispetto al confronto I metodi sono overloaded per ogni tipo primitivo e per Object. Strutture Dati 11 Strutture dati: Interfacce Collection: un arbitraio gruppo di oggetti List: un gruppo di oggetti memorizzati in una data sequenza Set: un gruppo di oggetti senza duplicati Map: un gruppo di coppie (oggetti) chiave-valore Sono tutte interfacce! Strutture Dati 12 6
7 Strutture dati: Implementazioni Ogni interfaccia ha piu` implementazioni che possono essere scelte in modo indifferente a seconda delle esigenze (anche di efficienza) Strutture Dati 13 Strutture dati Tassonomia completa delle strutture dati disponibili nel package java.util Si noti Vector ancora consentito sebbene gli venga ora preferito List Strutture Dati 14 7
8 Strutture dati Gli oggetti che possono essere contenuti in una qualsiasi struttura dati sono di tipo Object, quindi un oggetto qualsiasi Un oggetto di tipo, ad esempio, List puo` contenere oggetti di tipo diverso, anche non omogenei (perche` comunque di tipo Object) Viene persa l informazione sul tipo di un oggetto quando è inserito in una struttura dati di questo genere (è come fare upcasting ad Object!) Estratti gli oggetti è necessario fare downcasting per poterli riutilizzare correttamente (invocare metodi della loro classe di appartenenza), in contrapposizione agli array Strutture Dati 15 Un esempio Tratto da: B. Eckel, Thinking in Java, Prentice Hall, Cap. 9, pag. 450 e seguenti. public class Cat { private int catnumber; Cat(int i) { catnumber = i; void print() { System.out.println("Cat #" + catnumber); public class Dog { private int dognumber; Dog(int i) { dognumber = i; void print() { System.out.println("Dog #" + dognumber); Strutture Dati 16 8
9 import java.util.*; Un esempio public class CatsAndDogs { public static void main(string[] args) { List cats = new List(); for(int i = 0; i < 7; i++) cats.add(new Cat(i)); cats.add(new Dog(7)); for(int i = 0; i < cats.size(); i++) ((Cat)cats.get(i)).print(); List non ha nessun riferimento a cosa conterra` in seguito! Posso benissimo aggiungere un oggetto di tipo Dog in cats! Senza downcast non potrei invocarlo Durante la compilazione non viene rilevato nessun errore ma durante l esecuzione (run-time) verra` sollevata un eccezione (ClassCastException) poiche` verra` trovato un elemento non di tipo Cat (il downcast non è un cast alla C ma sono una verifica che l oggetto sia effettivamente di un certo tipo) Strutture Dati 17 Un esempio public class Cat1 { private int catnumber; Cat(int i) { catnumber = i; public String tostring() { return "Cat #" + catnumber; public class Dog1 { private int dognumber; Dog(int i) { dognumber = i; public String tostring() { return "Dog #" + dognumber; A differenza di prima abbiamo un metodo tostring() per stampare Strutture Dati 18 9
10 import java.util.*; Un esempio public class CatsAndDogs { public static void main(string[] args) { List cats = new List(); for(int i = 0; i < 7; i++) cats.add(new Cat1(i)); cats.add(new Dog1(7)); for(int i = 0; i < cats.size(); i++) //((Cat)cats.get(i)).print(); System.out.println(cats.get(i).toString()); Posso aggiungere un oggetto di tipo Dog Viene invocato implicitamente non è necessario scriverlo Durante la compilazione nessun errore poiche` String tostring() è un metodo disponibile in Object Non viene sollevata nessuna eccezione durante l esecuzione!! Tutto funziona perfettamente. Questo perche` abbiamo fatto overriding di un metodo appartenente alla classe Object e quindi sopraclasse sia di Cat1 che di Dog1. Il binding dinamico associera` il corretto codice durante l esecuzione Strutture Dati 19 Iteratori È un oggetto che permette di attraversare agevolmente una struttura dati qualsiasi (indipendentemente dalla sua implementazione) nest(), hasnext(), remove() import java.util.*; public class CatsAndDogs2 { public static void main(string[] args) { Collection cats = new List(); for(int i = 0; i < 7; i++) cats.add(new Cat(i)); Iterator e = cats.iterator(); while(e.hasnext()) ((Cat)e.next()).print(); Strutture Dati 20 10
Strutture dati: array & co.
Strutture dati: array & co. Fondamenti di programmazione Java Matteo Baldoni Dipartimento di Informatica Universita` degli Studi di Torino C.so Svizzera, 185 I-10149 Torino baldoni@di.unito.it http://www.di.unito.it/~baldoni/didattica
DettagliStrutture dati: array & co.
Strutture dati: array & co. Fondamenti di programmazione Java Matteo Baldoni Dipartimento di Informatica Universita` degli Studi di Torino C.so Svizzera, 185 I-10149 Torino baldoni@di.unito.it http://www.di.unito.it/~baldoni/didattica
DettagliINSTALLAZIONE, DOCUMENTAZIONE, TUTORIAL E PRIMI PROGRAMMI
Java 2: 2 installazione, documentazione,, tutorial e primo programma INSTALLAZIONE, DOCUMENTAZIONE, TUTORIAL E PRIMI PROGRAMMI Marco Botta Dipartimento di Informatica - Universita` degli Studi di Torino
DettagliPrimi programmi in Java
Primi programmi in Java II edizione Master Web Technology e Security Matteo Baldoni Dipartimento di Informatica Universita` degli Studi di Torino C.so Svizzera, 185 I-10149 Torino (Italy) baldoni@di.unito.it
DettagliStringhe ed Array. Fondamenti di Informatica A-K
Stringhe ed Array Fondamenti di Informatica A-K Esercitazione 4 Introduzione al calcolatore e Java Linguaggio Java, basi e controllo del flusso I metodi: concetti di base Stringhe ed array Classi e oggetti,
DettagliEsempio su strutture dati dinamiche: ArrayList
Esempio su strutture dati dinamiche: ArrayList Fondamenti di Informatica L-B 1 ArrayList Abbiamo detto che gli array non possono cambiare la propria dimensione: il numero di elementi contenuti viene stabilito
DettagliL Array e un oggetto. L array puo contenere elementi che sono: tipi primitivi, o oggetti (in realta riferimenti ad oggetti!!!).
Arrays Idea Fornire il concetto di array presente nei piu comuni linguaggi di programmazione Un array e una struttura statica, una volta creato la sua dimensione (numero di elementi che lo compongono)
DettagliIntroduzione Generics Iteratori. Collezioni in Java. Dr. Giulio Pellitta. 13 aprile 2011
13 aprile 2011 Cos è una collezione? Gerarchia delle collezioni Introduzione Una collezione è semplicemente un oggetto che raggruppa più oggetti (detti elementi della collezione) in una singola unità.
DettagliEreditarietà. Linguaggi di Programmazione: Paradigmi di Programmazione. Ereditarietà. Sottoclassi. Ereditarietà. Controllo statico dei tipi
Linguaggi di Programmazione: Paradigmi di Programmazione Ereditarietà Meccanismo per lo sviluppo incrementale di programmi Consente di estendere classi preesistenti aggiungendo o modificando componenti
DettagliProgrammazione Java: Polimorfismo
Programmazione Java: Polimorfismo romina.eramo@univaq.it http://www.di.univaq.it/romina.eramo/tlp Roadmap Polimorfismo» Upcasting» Selezione dei metodi» Comportamento dei metodi polimorfi dentro i costruttori»
Dettagli18 - Vettori. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
18 - Vettori Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it Corso di
DettagliCorso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I)
Corso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I) Ing. Gianluca Caminiti Sommario ( OOP ) Programmazione Object-Oriented Incapsulamento, Ereditarietà, Polimorfismo Richiami
DettagliAstrazioni sui dati : Specifica di Tipi di Dato Astratti in Java
Astrazioni sui dati : Specifica di Tipi di Dato Astratti in Java 1 Specifica ed Implementazione di Tipi di Dato Astratti in Java cos è un tipo di dato astratto specifica di tipi di dati astratti un tipo
DettagliTIPI PRIMITIVI E CLASSI WRAPPER
I tipi primitivi come oggetti Package java.lang In varie situazioni, può essere comodo poter trattare i tipi primitivi come oggetti per passarli per riferimento a una funzione quando una funzione pretende
DettagliIntroduzione. Java. Esempio. Esempio
Java polimorfismo G. Prencipe prencipe@di.unipi.it Introduzione È un altro degli ingredienti fondamentali della OOP Permette di organizzare il codice e la leggibilità e di ottenere programmi estensibili
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Array Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2016/2017 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 14 ARRAY (1) Un vettore (array) è un insieme
DettagliIntroduzione. Java RTTI RTTI. Il run-time type identification è quella parte di Java che si occupa di controllare i tipi a runtime
Java riconoscere i tipi G. Prencipe prencipe@di.unipi.it Introduzione Il run-time type identification è quella parte di Java che si occupa di controllare i tipi a runtime In particolare determina il tipo
DettagliL ereditarieta` Linguaggi di Programmazione: Paradigmi di Programmazione (Sperimentazioni)
L ereditarieta` Linguaggi di Programmazione: Paradigmi di Programmazione (Sperimentazioni) Matteo Baldoni Dipartimento di Informatica Universita` degli Studi di Torino C.so Svizzera, 185 I-10149 Torino
DettagliGli oggetti. Ogni oggetto ha un interfaccia e ogni oggetto ha un tipo. Incapsulamento. Oggetti. Contatore. Invio di Messaggi
Gli oggetti Linguaggi di Programmazione: Paradigmi di Programmazione (Sperimentazioni) Matteo Baldoni Dipartimento di Informatica Universita` degli Studi di Torino C.so Svizzera, 185 I-149 Torino Ogni
DettagliCollezioni, mappe e iteratori (a cura del Prof. Marco Patella)
, mappe e iteratori (a cura del Prof. Marco Patella) 1 Introduzione al Java Collections Framework Una collezione (o contenitore) consente di organizzare e gestire un gruppo di oggetti collezioni (vere
DettagliEsempio su strutture dati dinamiche: ArrayList
Esempio su strutture dati dinamiche: ArrayList 1 ArrayList Abbiamo detto che gli array non possono cambiare la propria dimensione: il numero di elementi contenuti viene stabilito al momento della creazione
DettagliOO puro. Primi concetti di Java. Tipi primitivi. Ogni cosa è un oggetto. Java è object-oriented puro Non come il C+ + (OO ibrido) Lorenzo Bettini
Primi concetti di Java Lorenzo Bettini OO puro Java è object-oriented puro Non come il C+ + (OO ibrido) Per compatibilità col C Ogni cosa è un oggetto Gli oggetti si manipolano tramite riferimenti String
DettagliArray. In Java un array è un oggetto senza metodi, con attributo pubblico length che memorizza la dimensione dell array
Array Una matrice (array) è un insieme ordinato e omogeneo di dati: è una variabile che contiene uno o più valori in sequenza ordinata. Questi valori si chiamano "elementi" e devono avere lo stesso tipo
DettagliProgrammazione I - corso B a.a prof. Viviana Bono
Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 2009-10 prof. Viviana Bono Blocco 12 Riepilogo e complementi sui tipi Ripasso del sistema di tipi
DettagliL ereditarieta` Riuso del software: Ereditarieta`, Composizione, Polimorfismo e Binding Dinamico Ereditarietà Ereditarietà
L ereditarieta` Programmazione in Rete e Laboratorio Matteo Baldoni Dipartimento di Informatica Universita` degli Studi di Torino C.so Svizzera, 185 I-10149 Torino Riuso del software: Ereditarieta`, Composizione,
DettagliJava Classi wrapper e classi di servizio. Classi di servizio
Java Classi wrapper e classi di servizio 1 Ereditarietà - recap Una classe può derivare da un altra - extends Eredita metodi e attributi (non i costruttori) Aggiunge attributi e metodi, ma può anche ridefinire
DettagliINFORMATICA III Parte B -Progettazione e Algoritmi
INFORMATICA III Parte B -Progettazione e Algoritmi Implementazione di codice algoritmico in Java Patrizia Scandurra patrizia.scandurra@unibg.it Università degli Studi di Bergamo a.a. 2010-11 Stessa interfaccia,
DettagliProgrammazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013
Programmazione a Oggetti e JAVA Prof. B.Buttarazzi A.A. 2012/2013 Sommario Array Array monodimensionali Array bidimensionali Esercizi 16/01/2013 2 ARRAY Gli array sono oggetti utilizzati in Java per memorizzare
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - Programma
Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione
DettagliFondamenti di Informatica L-B Esercitazione n 5 Java: Interfaccia Comparable, Array
Fondamenti di Informatica L-B Esercitazione n 5 Java: Interfaccia Comparable, Array A.A. 2007/08 Tutor: Barbara Pettazzoni barbara.pettazzoni@studio.unibo.it Interfaccia Comparable L altra volta abbiamo
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA7 A1 Vector, Arrays e StringBuffer 1 Prerequisiti Programmazione base in Java Utilizzo di classi e oggetti Algoritmi notevoli sul vettore 2 1 Introduzione In questa
DettagliCapitolo 5. Array e collezioni. c 2005 Pearson Education Italia Capitolo 5-1 / 61
Capitolo 5 Array e collezioni c 2005 Pearson Education Italia Capitolo 5-1 / 61 Sommario: Array e collezioni 1 Array Array di oggetti Lunghezza di un array Accesso agli elementi di un array Array e cicli
Dettagli19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
19 - Eccezioni Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso
DettagliProgrammazione in Java (I modulo) Lezione 21: Classi derivate e l'operatore instanceof Riscrivere il metodo tostring() Riscrivere il metodo equals()
Programmazione in Java (I modulo) Lezione 21: Classi derivate e l'operatore instanceof Riscrivere il metodo tostring() Riscrivere il metodo equals() Ereditarietà (Inheritance) RIASSUMIAMO DALLA SCORSA
DettagliLaboratorio di Matematica e Informatica 1
Laboratorio di Matematica e Informatica 1 Matteo Mondini Antonio E. Porreca matteo.mondini@gmail.com porreca@disco.unimib.it Dipartimento di Informatica, Sistemistica e Comunicazione Università degli Studi
DettagliProgrammazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 11 luglio 2014 TEMPO DISPONIBILE: 2 ore Negli esercizi
DettagliIl linguaggio Java: aggiunte in Java 1.5
.. Il linguaggio Java: aggiunte in Java 1.5 Una breve presentazione GENERICI Java 1.5 introduce i generici: classi che hanno un parametro di tipo. Nelle versioni precedenti a Java 1.5 si può definire:
DettagliLinguaggi di Programmazione: Paradigmi di Programmazione
Linguaggi di Programmazione: Paradigmi di Programmazione I PACKAGE IN JAVA Matteo Baldoni Dipartimento di Informatica - Universita` degli Studi di Torino C.so Svizzera, 185 - I-10149 Torino (Italy) e-mail:
DettagliJava Le stringhe. Stringhe
Java Le stringhe 1 Le stringhe in Java In Java le stringhe non sono semplicemente array di caratteri terminati con zero come avviene in C In Java le stringhe sono oggetti appartenenti alla classe String
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Tecniche di Programmazione: Collezioni Parte b versione 2.3 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi
DettagliSTRINGHE IN JAVA In Java, le stringhe non sono pezzi di memo-ria con dentro dei caratteri, come in C: sono oggetti appartenenti alla classe
STRINGHE IN JAVA In Java, le stringhe non sono pezzi di memo-ria con dentro dei caratteri, come in C: sono oggetti appartenenti alla classe String Una stringa Java rappresenta uno specifico valore e come
DettagliProgrammazione orientata agli oggetti La classe Object, metodi e classi final, this. Object
Programmazione orientata agli oggetti La classe, metodi e classi final, this 1 La classe Negli esempi fatti nella prima parte del corso abbiamo definito alcune classi, per esempio Counter e Orologio, senza
DettagliJava Gli array. Array
Java Gli array 1 Gli array In generale un array è una sequenza di locazioni di memoria, che contengono entità dello stesso tipo, e a cui si può fare riferimento con un nome comune Le entità che compongono
Dettagli# $ $ A.A. 2006/07 Tutor: Daniele Tiles &== ? &7$ %% & '( ) * + $, $ $ -' %./, $ * $ $ 7 5 &7 2$ $ $ 3&4&&&
! A.A. 2006/07 Tutor: Daniele Tiles daniele.tiles@studio.unibo.it # $ $ %% & '( ) * + $, $ $ -' %./, 01 5 6 $ * $ $ 7 5 &7 2$ $ $ 3&4&&& 5 +8$ 9%: 5 6;< &&$ $ &== 1&:+$!*? &7$ $ @$ 1&&# &A1+ $ $ $, $,
DettagliArray. Definizione e utilizzo di vettori
Array Definizione e utilizzo di vettori Array (1/2) Un array o vettore rappresenta un insieme di elementi dello stesso tipo. Sintassi per la creazione di un array: tipo_elementi[] nome; nome = new tipo_elementi[numero_elementi];
DettagliClassi astratte. Nella gerarchia delle classi, potrebbe essere utile prevedere un supertipo generale per le classi che si usano. Ad esempio: Figura
Classi astratte Nella gerarchia delle classi, potrebbe essere utile prevedere un supertipo generale per le classi che si usano. Ad esempio: Figura Rettangolo getarea() Quadrato getarea() getarea() Cerchio
DettagliProgrammazione a Oggetti Lezione 7. Il linguaggio Java: aspetti generali
Programmazione a Oggetti Lezione 7 Il linguaggio Java: aspetti generali Sommario Obiettivi di JAVA Portabilità: produrre codice eseguibile su più piattaforme (JVM) Affidabilità: Evitare il più possibile
Dettagli9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
9 - Array Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Ereditarietà e Polimorfismo: Polimorfismo - d Regole Sintattiche e Semantiche versione 1.2 Questo lavoro è concesso in uso secondo i termini di
DettagliSTRUTTURE DATI: OLTRE GLI ARRAY LISTE
STRUTTURE DATI: OLTRE GLI ARRAY le strutture dati progettate per ospitare una collezione di elementi, sono variazioni di array Ma l'array ha dimensione fissa anche in Java determinata a priori, in linguaggi
DettagliSTRINGHE IN JAVA In Java, le stringhe non sono pezzi di memo-ria con dentro dei caratteri, come in C: sono oggetti appartenenti alla classe
STRINGHE IN JAVA In Java, le stringhe non sono pezzi di memo-ria con dentro dei caratteri, come in C: sono oggetti appartenenti alla classe String Una stringa Java rappresenta uno specifico valore e come
DettagliLezione 6 programmazione in Java
Lezione 6 programmazione in Java Nicola Drago drago@sci.univr.it Dipartimento di Informatica Università di Verona Anteprima Le costanti I vettori Cos è un vettore Come si usa I vari tipi di vettori Esempi
DettagliEsempi al calcolatore su: 1) Costruttori ed ereditarietà 2) Subtyping e polimorfismo
Esempi al calcolatore su: 1) 2) Subtyping e polimorfismo 1 Esempio 1: 2 Introduzione Java prevede due automatismi legati ai costruttori: Se una classe non ha costruttori viene creato automaticamente il
DettagliJava Classi wrapper e classi di servizio. Classi di servizio
Java Classi wrapper e classi di servizio 1 Classi wrapper Concetti di base In varie situazioni, può essere comodo poter trattare i tipi primitivi come oggetti. Una classe wrapper (involucro) incapsula
DettagliJava Le stringhe. Stringhe
Java Le stringhe 1 Le stringhe in Java In Java le stringhe non sono semplicemente array di caratteri terminati con zero come avviene in C In Java le stringhe sono oggetti appartenenti alla classe String
DettagliIndice generale Introduzione...vii Parte I Concetti e costrutti fondamentali... 1 Capitolo 1 Introduzione al linguaggio... 3
Introduzione...vii Organizzazione del libro... viii Struttura del libro e convenzioni... ix Codice sorgente e progetti... x Compilare ed eseguire direttamente i listati e gli snippet di codice... x Compilare
DettagliUn introduzione al paradigma ad oggetti attraverso lo schema Kernel-Modulo
Un introduzione al paradigma ad oggetti attraverso lo schema Kernel-Modulo Matteo Baldoni Dipartimento di Informatica Università degli Studi di Torino C.so Svizzera, 185 I-10149 Torino (Italy) Tel. +39
DettagliProgrammazione II Compitino (Vers. B)
Programmazione II Compitino (Vers. B) 17 dicembre 2015 Cognome Jackson Nome Michael Matricola 696969 Anno di corso 1 Nei seguenti quesiti, quando vi è richiesto di scrivere un programma, potete limitarvi
DettagliEsercitazione n 2. Obiettivi
Esercitazione n 2 Obiettivi Progettazione di una applicazione Java Utilizzo di classi come schemi Utilizzo di costruttori Utilizzo di stringhe Uguaglianza tra oggetti Utilizzo di classi come componenti
DettagliFondamenti di Informatica T-1. Classi e array
Classi e array 2 Classi e metodi statici Una classe è un costrutto linguistico che permette di modellare un'entità di un sistema, definendone le caratteristiche (variabili interne) e le azioni (metodi).
DettagliFondamenti di Informatica T1 Interfaccia Comparable Collezioni
Fondamenti di Informatica T1 Interfaccia Comparable Collezioni Tutor Melissa Licciardello melissa.licciardell2@unibo.it Melissa Licciardello Fondamenti di Informatica T1 1 / 19 Interfaccia Comparable Fa
DettagliArrayList. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni
ArrayList Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni ArrayList Sotto diversi aspetti un ArrayList può essere considerato come un array migliore. I Miglioramenti sono
DettagliMarco Faella Introduzione al corso
Marco Faella Introduzione al corso 1 Lezione n. Parole chiave: Java Corso di Laurea: Informatica Insegnamento: Linguaggi di Programmazione II Email Docente: faella.didattica@gmail.com A.A. 2009-2010 Linguaggi
DettagliIntroduzione. Java. Costruttore
Java inizializzazioni e pulizia G. Prencipe prencipe@di.unipi.it Introduzione Uno dei problemi principali nella programmazione è legato alla sicurezza Due principali aspetti di questo problema sono l inizializzazione
DettagliEsempio su strutture dati dinamiche: ArrayList
Esempio su strutture dati dinamiche: ArrayList 1 ArrayList Gli array non possono cambiare la propria dimensione: il numero di elementi contenuti viene stabilito al momento della creazione e rimane immutato.
DettagliEsempi al calcolatore su: 1) Costruttori ed ereditarietà 2) Subtyping e Polimorfismo
Esempi al calcolatore su: 1) 2) Subtyping e Polimorfismo 1 Esempio 1: 2 Introduzione Java prevede due automatismi legati ai costruttori: Se una classe non ha costruttori viene creato automaticamente il
DettagliProgrammazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi:
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 22 settembre 2014 TEMPO DISPONIBILE: 2 ore Negli
DettagliIntroduzione. Chi sono? Come contattarmi? Bibliografia. Bibliografia. Bibliografia. Bibliografia. Matteo Baldoni. Programmazione in Rete e Laboratorio
Introduzione Programmazione in Rete e Laboratorio Chi sono? Come contattarmi? Matteo Baldoni Dipartimento di Informatica Università degli Studi di Torino Corso Svizzera, 185 I-10149 Torino (ITALY) Matteo
DettagliGenerics & Collections
Generics & Collections Ingegneria del software Jody Marca jody.marca@polimi.it I Generics 2 I Generics rendono possibile definire tipi parametrici tramite classi ed interfacce che gestiscono tipi generici
DettagliConcetti Base Encapsulation ed Ereditarietà Programmare con l Ereditarietà. Java: Ereditarietà. Damiano Macedonio
Dipartimento di Informatica, Università degli Studi di Verona Corso di Programmazione per Bioformatica Introduzione Ereditarietà in Sintesi È uno dei concetti chiave della programmazione orientata agli
DettagliUniversità Ca Foscari DAIS. Programmazione ad Oggetti. Esame del modulo 1
Università Ca Foscari DAIS Programmazione ad Oggetti Esame del modulo 1 Nome: Matricola: Samuel Rota Bulò, a.a. 2012/2013 Programmazione ad Oggetti a.a. 2012/2013 Esame del modulo 1 Nome: Samuel Rota Bulò
DettagliDefinizione di classi
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E05 Definizione di classi A. Miola Novembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Definizione di classi 1 Contenuti
DettagliProgrammazione Java Variabili membro, Metodi La parola chiave final
Programmazione Java Variabili membro, Metodi La parola chiave final Davide Di Ruscio Dipartimento di Informatica Università degli Studi dell Aquila diruscio@di.univaq.it. Sommario 2 2» Variabili membro»
DettagliEsempi in Java di program.ne O-O
Esempi in Java di program.ne O-O Ereditarietà Polimorfismo statico e dinamico Esercitazione laboratorio Interfaccia Comparable e Comparator 1 Gerarchia di ereditarietà Persona IS_A Docente Studente Tecnico
DettagliLaboratorio di Programmazione 1 [Java]
Laboratorio di Programmazione 1 [Java] Prova di esame - 7 Settembre 2010 Tempo massimo: 50 minuti Si implementino in Java le classi Tavolo e Ristorante. La classe Tavolo ha i seguenti attributi: numero
DettagliLezione 9 programmazione in Java Classi come contenitori
Lezione 9 programmazione in Java Classi come contenitori Nicola Drago drago@sci.univr.it Dipartimento di Informatica Università di Verona Anteprima Gestione della Memoria Dati dinamici e statici Il passaggio
DettagliEsercitazione n 2. Obiettivi
Esercitazione n 2 Obiettivi Progettazione di una applicazione Java Utilizzo di classi come schemi Utilizzo di costruttori Utilizzo di stringhe Uguaglianza tra oggetti Utilizzo di classi come componenti
Dettagli18 - Classi parzialmente definite: Classi Astratte e Interfacce
18 - Classi parzialmente definite: Classi Astratte e Interfacce Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/
Dettagli17 - Classi parzialmente definite: Classi Astratte e Interfacce
17 - Classi parzialmente definite: Classi Astratte e Interfacce Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/
DettagliVariabili e Metodi di classe Interfacce e Package Gestione di File in Java
Fondamenti di Informatica Variabili e Metodi di classe Interfacce e Package Gestione di File in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Variabili di classe: Static Una variabile di classe
DettagliImplementare un'interfaccia
Le interfacce Un metodo astratto è un metodo senza corpo, con un ";" dopo l'intestazione. Una interfaccia (interface) in Java ha una struttura simile a una classe, ma può contenere SOLO costanti e metodi
DettagliVariabili e Metodi di classe Interfacce e Package File in Java
Fondamenti di Informatica Variabili e Metodi di classe Interfacce e Package File in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Variabili di classe: Static Una variabile di classe definisce un
DettagliClassi astratte e progettazione OOP Esempio: l enciclopedia degli animali. Esempio Animali
Classi astratte e progettazione OOP Esempio: l enciclopedia degli animali 1 Ereditarietà, polimorfismo e altri sporchi trucchi Facciamo un esempio che ci permette di comprendere come vengono utilizzate
DettagliCorso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona
di Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona su Sommario di su di di di su Astrazione sugli oggetti di su Il concetto di classe Classe: realizza l astrazione
DettagliIL CONCETTO DI CLASSE
IL CONCETTO DI CLASSE Una CLASSE riunisce le proprietà di: componente software: può essere dotata di suoi propri dati / operazioni moduli: riunisce dati e relative operazioni, fornendo idonei meccanismi
DettagliIL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Primo esempio di un programma Java
Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Primo esempio di un programma Java Semplicissimo programma
DettagliRiassunto: cos è la OOP? classi astratte, interfacce, classi interne. Scaletta. Figura con area()? Figura senza area()? Stefano Mizzaro 1.
OO in Java: classi astratte, interfacce, classi interne Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro mizzaro@dimi.uniud.it Programmazione,
DettagliTIPI PRIMITIVI: LIMITI
TIPI PRIMITIVI: LIMITI I tipi primitivi sono i "mattoni elementari" del linguaggio In varie situazioni può però essere necessario trattare i tipi primitivi come oggetti quando una funzione pretende come
DettagliEsercitazione Fondamenti di informatica 2
Esercitazione Fondamenti di informatica 2 Array ed Oggetti JAVA 13 marzo 2006 L oggetto atrice Realizzare una classe oggetto atrice. Lo stato dell oggetto Vettore, è rappresentato da un array di array
DettagliIntroduzione al Java Collections Framework. Progettazione del Software Anno Accademico Interfacce del Collections Framework
Università di Roma La Sapienza, Facoltà di Ingegneria Corso di Progettazione del Software Anno Accademico 2003-2004 Corso di Laurea in Ingegneria Gestionale Prof. Giuseppe De Giacomo & Prof. Monica Scannapieco
Dettagli