TIPI PRIMITIVI: LIMITI
|
|
|
- Angelina Rossi
- 9 anni fa
- Просмотров:
Транскрипт
1 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 parametro (o restituisce) un Object quando occorre inserirli in una struttura dati (un array, uno stack, una lista..) che per ipotesi contiene degli Object Poiché una variabile di un tipo primitivo non è un oggetto, ciò non è direttamente possibile.
2 DAI TIPI PRIMITIVI AGLI OGGETTI Soluzione: costruirsi una classe che incapsuli una variabile di un tipo primitivo una classe MyInt che incapsuli un int una classe MyFloat che incapsuli un float... Ma non ce n'è bisogno: sono già fatte! Tali classi sono note in Java con l'appellativo di classi wrapper (classi "avvolgenti") Ogni classe wrapper ha un nome (quasi) identico al tipo primitivo che incapsula, ma con l iniziale maiuscola.
3 TIPI PRIMITIVI E CLASSI WRAPPER oggetto Integer int Ogni classe wrapper definisce metodi per estrarre il valore della variabile incapsulata e viceversa.
4 TIPI PRIMITIVI E CLASSI WRAPPER Per estrarre il valore incapsulato: Integer fornisce il metodo intvalue() Double fornisce il metodo doublevalue() Boolean fornisce il metodo booleanvalue() Character fornisce il metodo charvalue()... Per creare un oggetto da un valore primitivo: Integer i = new Integer(valore int) Double d = new Double(valore double) Boolean b = new Boolean(valore boolean) Character c = new Character(valore char)...
5 CLASSI WRAPPER : FUNZIONALITÀ Cosa offre una classe wrapper? un costruttore per incapsulare un valore primitivo. Ad esempio, Integer wi = new Integer(33); un metodo per estrarre il valore incapsulato. Ad esempio, int k = wi.intvalue(); un metodo tostring per rappresentare come stringa il valore incapsulato. Ad esempio: System.out.println(wi);
6 CLASSI WRAPPER : FUNZIONALITÀ Cosa non offre una classe wrapper? operatori aritmetici per fare le operazioni. Ad esempio, non si può scrivere: new Integer(3) + new Integer(2); E allora come si fa? si estraggono i valori primitivi incapsulati, si svolgono le operazioni su essi, e infine si costruisce un nuovo oggetto: Integer wk = new Integer(wi.intValue() + wj.intvalue());
7 CLASSI WRAPPER - ESEMPIO 1 public class EsempioWrapper1 { public static void main(string args[]){ int x = 35; Integer wx = new Integer(x); Integer wy = new Integer(4); // Integer wz = wx + wy; // NO! System.out.println(wx); System.out.println(wy); Integer wz = new Integer( wx.intvalue() + wy.intvalue() ); System.out.println(wz); Si passa nel dominio degli int per svolgere l'operazione di somma (che non esiste fra Integer)
8 CLASSI WRAPPER - ESEMPIO 2 public class EsempioWrapper2 { public static void main(string args[]){ Integer wx = new Integer(35); int x = 2 * wx.intvalue(); System.out.println("wx = " + wx); System.out.println("x = " + x); wx = 35 x = 70 La prima stampa usa la tostring di Integer per ottenere la stringa "35" e concatenarla alla costante "wx = " La seconda stampa usa invece la conversione automatica int/string per ottenere la stringa "70" da concatenare alla costante "x = "
9 CLASSI WRAPPER MA NON SOLO La classe wrapper non svolge solo la funzione di "classe avvolgente" per un tipo primitivo Nella sua parte statica ospita anche funzioni che operano sul tipo primitivo corrispondente Si tratta di funzioni (statiche) che non hanno nulla a che vedere con la classe wrapper in quanto ADT! Sono "messe lì" semplicemente perché si doveva pur metterle da qualche parte... (in Java, non possono esistere funzioni definite "fuori" da una qualche classe) e la classe wrapper era il posto più logico in cui metterle.
10 CLASSI WRAPPER : PARTE STATICA Quali funzioni statiche notevoli ospita? Conversione stringa / numero Conversione numero / stringa In effetti, una variabile di un tipo primitivo non è un oggetto, quindi non è possibile invocare su di essa un metodo nello stile "a invio di messaggi"! Occorre tornare allo stile "a funzioni" classico: NON valoreprimitivo.convertitiin() MA converti(valoreprimitivo, stringa)
11 CLASSI WRAPPER : PARTE STATICA Conversione stringa / numero Funzioni della forma parsexxx Ad esempio, per gli interi, int x = Integer.parseInt("-1234"); Questa funzione statica della classe Integer analizza una stringa fornita come parametro e, se rappresenta un valore intero, produce un int inizializzato a tale valore e lo restituisce (come la atoi del C).
12 CLASSI WRAPPER : PARTE STATICA E se non è un numero? Ad esempio, per gli interi, int x = Integer.parseInt("-ciao"); o anche int x = Integer.parseInt("7.54"); Cosa succede in questi casi? Errore: la conversione non ha senso, è una contraddizione che deve essere segnalata.
13 CONVERSIONI STRINGA / NUMERO Funzioni di conversione da stringa ai vari tipi di numeri: Versioni con specifica della base di conversione (per tipi interi):
14 CLASSI WRAPPER : PARTE STATICA Oltre alle funzioni parsexxx, che restituiscono un valore primitivo, esistono anche le funzioni (statiche) valueof, che restituiscono un oggetto della classe wrapper Ad esempio, per gli interi, Integer wx = Integer.valueOf("-1234"); Il risultato non è più un valore int (come nel caso di parseint) ma bensì una istanza di Integer
15 CONVERSIONI STRINGA / NUMERO Versioni che restituiscono un oggetto della classe wrapper: La funzione valueof esiste anche per i booleani: restituisce un oggetto Boolean che incapsula il valore boolean corrispondente alla stringa passata come parametro.
16 CLASSI WRAPPER : PARTE STATICA Conversione numero / stringa Per gli oggetti, la fa il metodo tostring E per i tipi primitivi? Vi siete mai chiesti come fa println a stampare int, float? E come fa il + a concatenare int, float a stringhe?? Esiste una funzione statica che svolge la stessa operazione per i tipi primitivi... e si chiama anche lei tostring!!
17 TIPI PRIMITIVI E CLASSI WRAPPER Esempio: tostring() nella classe Integer versione metodo: public String tostring(); è implicitamente invocato su un oggetto Integer ne recupera il valore e ne produce la rappresentazione sotto forma di stringa. versione funzione statica: public static String tostring(int x); prende un valore int e ne produce la rappresentazione sotto forma di stringa è implementata tipicamente appoggiandosi all altra per i Boolean è stata introdotta solo con il JDK 1.4
18 ESEMPIO public class EsempioWrapper3 { public static void main(string args[]){ int x = 35; Integer ix = new Integer(x); x = 2 * ix.intvalue(); System.out.println("ix =" + ix); System.out.println("x =" + x);
19 ESEMPIO public class EsempioWrapper3 { public static void main(string args[]){ Conversione implicita da Integer a String int (usando x = il metodo 35; tostring()di Integer) Integer ix = new Integer(x); x = 2 * ix.intvalue(); System.out.println("ix =" + ix); System.out.println("x =" + x); Conversione implicita da int a String (usando la funzione statica tostring()di Integer)
20 UN ESERCIZIO correlato
21 ESERCIZIO Problema Scrivere una funzione che scambi due interi non opera su oggetti fi funzione statica scritta dentro a una classe contenitore Quale signature? public static void scambia(...,... ) Forse questa? public static void scambia(int, int) NO: il passaggio sarebbe per valore!
22 ESERCIZIO Serve un passaggio per riferimento. Come ottenerlo in Java su un tipo primitivo?? Java non offre scelta: i tipi primitivi passano sempre e solo per valore! Solo gli oggetti passano per riferimento. Ma allora... basta definire una classe che incapsuli il tipo primitivo, e poi passare a scambia oggetti di quel tipo: public static void scambia(intbuf, IntBuf)
23 LA CLASSE IntBuf Definiamo una classe IntBuf che incapsuli il tipo primitivo int Costruttore: costruisce un oggetto IntBuf a partire da un int Metodo getvalue: recupera il valore int da un oggetto IntBuf Metodo setvalue: cambia il valore int contenuto in un oggetto IntBuf oggetto IntBuf int public class IntBuf { private int val; public IntBuf(int v) { val = v; public int getvalue() { return val; public void setvalue(int v) { val = v;
24 LA FUNZIONE scambia La funzione scambia può quindi lavorare su due oggetti IntBuf oggetto IntBuf int Per scambiare i valori di due oggetti a e b si salva in un temporaneo il valore dell'oggetto a si cambia il valore dell'oggetto a rendendolo pari a b si cambia il valore dell'oggetto b rendendolo pari all'intero temporaneo che ospita il vecchio valore di a
25 LA FUNZIONE scambia La funzione scambia può quindi lavorare su due oggetti IntBuf oggetto IntBuf int public class MyLib { public static void scambia(intbuf a, IntBuf b){ int temp = a.getvalue(); a.setvalue(b.getvalue()); b.setvalue(temp);
26 public class Prova { UN MAIN DI PROVA public static void main(string args[]){ int x = 10, y = 30; System.out.println("x, y = " + x + ", " + y); IntBuf a = new IntBuf(x), b = new IntBuf(y); System.out.println("a, b = " + a.getvalue() + ", " + b.getvalue()); MyLib.scambia(a,b); System.out.println("a, b = " + a.getvalue() + ", " + b.getvalue());
27 UN MAIN DI PROVA public class Prova { public static void main(string args[]){ int x = 10, y = 30; System.out.println("x, y = " + x + ", " + y); IntBuf a = new IntBuf(x), b = new IntBuf(y); System.out.println("a, b = " + a.getvalue() + ", "+ b.getvalue()); MyLib.scambia(a,b); System.out.println("a, b = " + a.getvalue() + ", "+ b.getvalue()); C:\temp>java Prova x, y = 10, 30 a, b = 10, 30 a, b = 30, 10
28 UNA RIFLESSIONE La classe IntBuf prevede un metodo che modifica il valore: Costruttore: costruisce un oggetto IntBuf a partire da un int Metodo getvalue: recupera il valore int da un oggetto IntBuf Metodo setvalue: cambia il valore int contenuto in un oggetto IntBuf oggetto IntBuf int public class IntBuf { private int val; public IntBuf(int v) { val = v; public int getvalue() { return val; public void setvalue(int v) { val = v;
29 UNA RIFLESSIONE Dunque: gli oggetti IntBuf non sono valori, sono contenitori il metodo setvalue appartiene alla categoria dei trasformatori oggetto IntBuf int public class IntBuf { private int val; public IntBuf(int v) { val = v; public int getvalue() { return val; public void setvalue(int v) { val = v;
30 CLASSI WRAPPER Java prevede già classi standard per incapsulare valori primitivi: le classi "wrapper" esse però sono valori non hanno trasformatori Il costruttore costruisce un oggetto "wrapper" a partire da un valore primitivo Un metodo permette di recuperare il valore primitivo incapsulato in un oggetto "wrapper" Dunque, le classi "wrapper" di Java non sono adatte a fungere da contenitori per ottenere il passaggio per riferimento di tipi primitivi.
TIPI 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
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
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
Uso di metodi statici. Walter Didimo
Uso di metodi statici Walter Didimo Metodi di istanza Fino ad ora abbiamo imparato a creare oggetti e ad invocare metodi su tali oggetti i metodi venivano eseguiti dagli oggetti un metodo invocato su un
Esempio 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
Esempio 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
14 - Metodi e Costruttori
14 - Metodi e Costruttori 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
IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale
Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Lettura di dati da input In Java la lettura di dati da input
Esempio 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
Corso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA2 2.1- Funzioni 1 Prerequisiti Programmazione elementare in Java Tecnica top-down Concetto matematico di funzione Compilazione e link di programmi Esecuzione di funzioni
Programmazione. 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
Metodi statici. Dichiarazione e chiamata di metodi statici
Metodi statici Dichiarazione e chiamata di metodi statici Cos è un metodo Un metodo è un blocco di istruzioni che fornisce una funzionalità e viene identificato con un nome Può avere dei parametri ed un
Programmazione. 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
Programmazione Java Struttura di una classe, Costruttore, Riferimento this
Programmazione Java Struttura di una classe, Costruttore, Riferimento this [email protected] http://www.di.univaq.it/romina.eramo/tlp Roadmap > Struttura di una classe > Costruttore > Riferimento
18 - 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
Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi.. 2010/2011 Sommario Conversione di tipo:casting Tipo enumerativo lgebra Booleana Esercizi Conversione di tipo:casting Il casting o conversione di tipo avviene
Laboratorio di Programmazione 1 [Java]
Laboratorio di Programmazione 1 [Java] Prova di esame - 26 Gennaio 2011 Tempo massimo: 50 minuti Si implementino in Java le classi Tavolo e Pizzeria. La classe Tavolo ha i seguenti attributi: nome (una
Java: Compilatore e Interprete
Java: Compilatore e Interprete Java Virtual Machine Il bytecode non è Linguaggio Macchina. Per diventarlo, deve subire un ulteriore trasformazione che viene operata dall interprete Java in modalità JIT
GESTIONE DEGLI ERRORI
GESTIONE DEGLI ERRORI Spesso vi sono istruzioni critiche, che in certi casi possono produrre errori L approccio classico consiste nell inserire controlli (if else..) per cercare di intercettare a priori
INTRODUZIONE 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
RETI DI CALCOLATORI Linguaggio Java: Eccezioni
Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Reggio Emilia CORSO DI RETI DI CALCOLATORI Linguaggio Java: Eccezioni Prof. Franco Zambonelli Lucidi realizzati in collaborazione
Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario La classe String Lettura da input di dati numerici (tipo int) Stampa di dati numerici Uno sguardo al codice Esercizi 21/03/2011 2
public static boolean occorre (int[] a, int n) { int i = 0; boolean trovato = false;
Metodi iterativi con array monodimensionali 1. Scrivere un metodo che, dato un array di interi a, restituisce il valore minimo in a. public static int minimo (int[] a) { int min = a[0]; for (int i=1; i
Classi e array. Viene ora affrontato un problema di definizione di una classe in cui una variabile d istanza è di tipo array
Classi e array Viene ora affrontato un problema di definizione di una classe in cui una variabile d istanza è di tipo array Si vuole definire una classe Polinomio per la rappresentazione di polinomi a
Programmazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
Il linguaggio C. Puntatori e dintorni
Il linguaggio C Puntatori e dintorni 1 Puntatori : idea di base In C è possibile conoscere e denotare l indirizzo della cella di memoria in cui è memorizzata una variabile (il puntatore) es : int a = 50;
Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo
Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy
Basi della programmazione in Java. Anteprima. Uso delle variabili. Il concetto di variabile Uso delle variabili. Input da tastiera I tipi Esercizi
Basi della programmazione in Java Nicola Drago [email protected] Dipartimento di Informatica Università di Verona Anteprima Il concetto di variabile Uso delle variabili Dichiarazione Assegnamento Visualizzazione
Programmazione ad oggetti
Programmazione ad oggetti OOP La programmazione orientata agli oggetti (Object Oriented Programming) ha l obiettivo di formalizzare gli oggetti del mondo reale e di costruire con questi un mondo virtuale.
19 - 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
ESERCIZIO 1 (FILE DI TESTO)
ESERCIZIO 1 (FILE DI TESTO) Scrivere su un file di testo righe inserite da console, fino a quando non viene inserita la linea vuota. Passare il nome del file come parametro al programma. Bisogna incapsulare
9 - 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
Laboratorio di Programmazione Lezione 4. Cristian Del Fabbro
Laboratorio di Programmazione Lezione 4 Cristian Del Fabbro Prossima lezione Mercoledì 25 novembre ore 8:30-11:00 Classe Una classe descrive degli oggetti tramite: Proprietà/variabili/campi (dati/caratteristiche,
Esempi 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
ESERCIZI JAVA. Esercizi sulle Interfacce. Esercizio 1:
ESERCIZI JAVA Esercizi sulle Interfacce Esercizio 1: Java mette a disposizione un'interfaccia chiamata Comparable. Quando un oggetto implementa questa interfaccia esso può implementare un metodo chiamato
Ricerca e ordinamento su array di oggetti. Corso di Programmazione 2 Esercitazione 5
Ricerca e ordinamento su array di oggetti Corso di Programmazione 2 Esercitazione 5 Sommario Ricercare in array di oggetti Interfaccia comparable Ordinare array di oggetti Problema Come ordinare, ricercare
Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)
Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Selezione di prove di esame al calcolatore Esercizio 1 (esame del 13/01/2006) La classe Matrice definisce oggetti che rappresentano matrici
Esempio 2: Subtyping
Esempio 2: Subtyping 22 Subclassing e subtyping Fino ad ora abbiamo trattato l ereditarietà come strumento che consente il riuso flessibile di classi già esistenti mediante l aggiunta o la ridefinizione
Java: Compilazione e Traduzione. Fondamenti di Informatica L-B Esercitazione n 3 Introduzione a JAVA. C: Editing, compilazione, esecuzione
Fondamenti di Informatica L-B Esercitazione n 3 Introduzione a JAVA A.A. 2007/08 Tutor: Barbara Pettazzoni [email protected] Java: Compilazione e Traduzione Editing, compilazione, esecuzione
3. un metodo che restituisce l elenco delle matricole di tutti gli studenti del corso;
Un esempio di definizione di classe con array di oggetti Sia data la classe StudUniv per gli studenti universitari (definita in una lezione precedente). Scrivere una nuova classe Corso, dove ciascun corso
7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari
7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa
Lezione 6 programmazione in Java
Lezione 6 programmazione in Java Nicola Drago [email protected] Dipartimento di Informatica Università di Verona Anteprima Le costanti I vettori Cos è un vettore Come si usa I vari tipi di vettori Esempi
Laboratorio 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
18 - 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/
Corso 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
Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni
Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni Esercizio 1 Dire quale è la complessità temporale del seguente metodo, espressa con notazione asintotica O(.) (con la migliore
Esercitazione 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
16 - Ereditarietà, tipi e gerarchie
16 - Ereditarietà, tipi e gerarchie 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
Modulo 2: Strutture fondamentali della programmazione Java
Modulo 2: Strutture fondamentali della programmazione Java Argomenti Trattati: Un semplice programma Java: Presentazione di un primo Esempio; Introduzione alla struttura; Compilazione ed esecuzione. Argomenti
Corso: Fondamenti di Informatica (Gruppo 2) a.a Corsi di laurea: Ing. Settore Informazione
Corso: Fondamenti di Informatica (Gruppo 2) a.a. 2017-18 Corsi di laurea: Ing. Settore Informazione Questionario a Risposte Multiple per auto-valutazione del Lab05 Domanda n. 1 Argomento: Iterazioni, array
Programmazione 1 A.A. 2015/2016
Cognome e Nome Matricola Programmazione 1 A.A. 2015/2016 Appello del 16 Dicembre 2015 Compito n 1 Prima parte Esercizio 1 (10 punti) Cosa stampa il seguente frammento di codice Java? int[] A = {3, 8, 91,
Classi 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
Eredità e Polimorfismo in Java
Eredità e Polimorfismo in Java Corso di Linguaggi di Programmazione ad Oggetti 1 A.A. 2003/04 A cura di Definizione di Classe Java è un linguaggio object-oriented per cui il costrutto fondamentale è quello
Le variabili. Olga Scotti
Le variabili Olga Scotti Cos è una variabile Le variabili, in un linguaggio di programmazione, sono dei contenitori. Possono essere riempiti con un valore che poi può essere riletto oppure sostituito.
Polimorfismo parametrico vs polimorfismo per inclusione
Polimorfismo parametrico vs polimorfismo per inclusione Esercizio Definire il tipo di dato Stack con operazioni Push( element ) Pop() Non forzare una specifica implementazione Non forzare un tipo specifico
Algoritmi di Ricerca. Esempi di programmi Java
Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare
La programmazione ad oggetti (OOP)
Oggetti e Classi (CAP 10) Alberto Garfagnini, Marco Mazzocco Università degli studi di Padova 30 Novembre 2011 La programmazione ad oggetti (OOP) È un approccio concettuale alla programmazione (indipendente
Classi 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
