Informatica 2 Lezione 4 Corso di laurea in matematica Informatica 2 Dott. Ing. Leonardo Vito Corso di laurea matematica indirizzo matematica per le applicazioni.

Slides:



Advertisements
Presentazioni simili
Programmazione ad oggetti
Advertisements

Costruttori e Distruttori
Recupero debito quarto anno Primo incontro
Informatica Recupero debito quarto anno Terzo incontro.
Universita di Camerino
Universita di Camerino
Universita di Camerino
Programmazione object oriented in C++
Type Checking (1° parte)
Java: programmazione concorrente con condivisione di memoria
Differenze nei vari linguaggi di Elisa Trifirò e Barbara Tacchino
Massa Laura Mela Enrica
1 Astrazioni sui dati : Specifica ed Implementazione di Tipi di Dato Astratti in Java.
Classi ed Oggetti in Java (Cenni). Richiami Ruolo delle Classi in Java Oggetti.
LIP: 4 Aprile 2008 ECCEZIONI. Eccezioni Come si definiscono eccezioni Come si lanciano Come si gestiscono (gestione esplicita o di default)
Le gerarchie di tipi.
Liste Ordinate 3 Maggio Ultima Lezione Abbiamo visto i tipi di dato astratti IntList e StringList Realizzano liste di interi e di stringhe Realizzati.
Fondamenti di Informatica
Eccezioni Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione Università di Siena Via Roma 56 – – SIENA Uff
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a. 2009/2010 Prof.ssa Chiara Petrioli.
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.
Introduzione al linguaggio Java
Overriding.
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.
Lezione 4: Costrutti Condizionali Prof. Raffaele Montella.
Oggetti e dati primitivi
Programmazione Corso di laurea in Informatica
Istruzioni di selezione in Java Programmazione Corso di laurea in Informatica.
Approfondimento delle classi
AA2003/04 © M.A. Alberti Programmazione Interfacce 1 Programmazione Corso di laurea in Informatica.
CAPITOLO 4 LINGUAGGIO JAVA: COSTRUTTI DI BASE. ALFABETO Java adotta la codifica standard Unicode della società Unicode, Inc. (ftp://ftp.unicode.org) definito.
1 Le gerarchie di tipi. 2 Supertipi e sottotipi 4 un supertipo –class –interface 4 può avere più sottotipi –un sottotipo extends il supertipo ( class.
Lab. Calc. 2005/06 Ereditarietà. Lab. Calc. 2005/06 Scopo di questa lezione: Imparare a creare nuove classi ereditando da classi già esistenti. Capire.
Programmazione con Interfacce
Le classi Definizione di classe Attributi e metodi di una classe Costruttori e distruttori Private e public Funzioni friend Il puntatore this.
Espressioni condizionali
Java base IV: Java e la programmazione O.O.
Le funzioni a tempo di esecuzione
AlgoLab - Ereditarieta' Ereditarietà e polimorfismo in Java Laboratorio di Algoritmi 02/03 Prof. Ugo de Liguoro.
JAVA Franco Bombi 8 ottobre FB Introduzione Java è un linguaggio di impiego generale, basato su classi e orientato agli oggetti Java.
Ereditarietà e Polimorfismo
Il linguaggio C Le funzioni C Language Il passaggio dei parametri
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a. 2009/2010 Prof.ssa Chiara Petrioli.
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA FINALE DEL 21 MAGGIO 2007 NOME: COGNOME: ________________________________________________________________________________.
1 FONDAMENTI DI INFORMATICA II Ingegneria Gestionale a.a ° Ciclo Polimorfismo.
Prof.ssa Chiara Petrioli -- corso di programmazione 1, a.a. 2006/2007 Corso di Programmazione 1 a.a.2006/2007 Prof.ssa Chiara Petrioli Corso di Laurea.
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.
Fondamenti di Informatica II Ingegneria Informatica (A-I) Prof. M.T. PAZIENZA a.a – 3° ciclo.
Informatica 4 Funzioni. FUNZIONE: definizione MATEMATICA Relazione (o applicazione) binaria tra due insiemi A e B che associa a ogni elemento di A un.
Ugo de'Liguoro - Informatica 2 a.a. 03/04 Lez. 7 Tipi di dato e strutture dati Specifica e realizzazione di strutture informative come classi.
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
1 Il linguaggio C Precisazioni sull’esperienza in laboratorio.
1 Gerarchie e polimorfismo: liste. 2 Generalizzare le liste di interi  List 4 lista di oggetti –non modificabile 4 vorremo poi definire un sottotipo.
LIP: 9 Maggio Esercizi Riprendiamo un esercizio proposto Definire un tipo di dato Persona che definisce oggetti che rappresentano le informazioni.
LIP: 2 Maggio 2008 Classi Astratte. Cos’e’ una Classe Astratta una classe astratta e’ un particolare tipo di classe permette di fornire una implementazione.
Progettare una classe 21 Febbraio La classe BankAccount Vogliamo realizzare una classe i cui oggetti sono dei semplici conti bancari. * Identifichiamo.
LIP: 11 Maggio 2007 Classi Astratte. Cos’e’ una Classe Astratta una classe astratta e’ un particolare tipo di classe permette di fornire una implementazione.
Esercizi iteratori. Matrice import java.util.Iterator; public class MatrixIterator implements Iterator { private Matrix matrix; private int currentRow.
LIP: 4 Maggio 2007 Interfacce. Cos’e’ una Interfaccia una interfaccia e’ un particolare tipo di classe contiene solo la specifica non ha implementazione.
LIP: 18 Aprile 2008 Interfacce. Rappresentazione Lista val next vuota Lista vuota: any true Lista non vuota: any true 154 false 24 false.
Corso di Algoritmi e Strutture Dati con Laboratorio Richiami di Java – parte II.
Corso di Algoritmi e Strutture Dati con Laboratorio Java Collections Framework (I parte)
28/12/2001package 1 Package Pacchetti e interfacce.
Introduzione alle Classi e agli Oggetti in Java 1.
Transcript della presentazione:

Informatica 2 Lezione 4 Corso di laurea in matematica Informatica 2 Dott. Ing. Leonardo Vito Corso di laurea matematica indirizzo matematica per le applicazioni gestionali ed economiche indirizzo matematica per le applicazioni tecnologiche e dellingegneria Corso di laurea specialistica in matematica e applicazioni indirizzo matematica Universita di Camerino

Informatica 2 Lezione 4 Interfacce Uninterfaccia Java è una collezione di metodi astratti (e di costanti) Un metodo astratto è un metodo non definito –Il metodo è dichiarato ma non definito (solo protitipo) Un metodo astratto viene dichiarato mediante luso del modificatore abstract –ma poiché tutti i metodi di un interfaccia sono necessariamente astratti spesso viene omesso Linterfaccia viene usata per definire formalmente linsieme dei metodi che una classe deve definire

Informatica 2 Lezione 4 Interfacce public interface Fattibile { public void faiQuesto(); public int faiQuello(); public void faiQuesto(float value, char ch); public boolean faiQuestaltro (int num); } interface è una parola riservata Per nessuno dei metodi in uninterfaccia viene definito il corpo Lintestazione di ciascun metodo termina con il ;

Informatica 2 Lezione 4 Interfacce Uninterfaccia non può essere instanziata I metodi di un interfaccia hanno visibilità public per default Le classi implementano uninterfaccia 1.Affermandolo nella intestazione della classe 2.Fornendo limplementazione per ciascun metodo dellinterfaccia Una classe che implementa uninterfaccia, deve definire tutti i metodi dellinterfaccia altrimenti il compilatore segnala errore

Informatica 2 Lezione 4 Implementare un interfaccia public class PuoFare implements Fattibile { public void faiQuesto() { // codice } public int faiQuello() { // codice } // etc. } implements è una parola riservata A ogni metodo dellinterfaccia Fattibile viene data la definizione appropriata

Informatica 2 Lezione 4 Implementare un interfaccia La classe deve implementare tutti i metodi dichiarati nellinterfaccia Una classe che implementa uninterfaccia può anche definire altri metodi Una classe può implementare diverse interfacce –Le diverse interfacce sono separate da virgole nella clausola di implementazione

Informatica 2 Lezione 4 Polimorfismo con le interfacce Si ha polimorfismo quando un identificatore può riferirsi a oggetti di tipo differente in momenti diversi –Con le interfacce si creano riferimenti polimorfici –Il nome di uninterfaccia (es. Fattibile ) può essere usato come tipo di una variabile di riferimento a un oggetto Fattibile obj; –Il riferimento obj può puntare un oggetto di una qualunque classe che implementi linterfaccia Fattibile –Il riferimento è polimorfo, cioé può assumere diverse forme

Informatica 2 Lezione 4 Polimorfismo con le interfacce Il riferimento polimorfico viene risolto al tempo dellesecuzione, cioé a run time Si attua un legame dinamico –Il metodo che viene invocato dipende dal tipo di oggetto a cui obj fa riferimento: obj.faiQuesto() –La stessa linea di codice può eseguire diversi metodi in momenti diversi se loggetto cui punta obj cambia Luso di riferimenti polimorfi può portare a un disegno elegante e robusto del software, talvolta oscuro

Informatica 2 Lezione 4 Alcune interfacce standard Linterfaccia Comparable contiene un metodo astratto chiamato compareTo, usato per confrontare oggetti –La classe String implementa linterfaccia Comparable che consente di confrontare stringhe in ordine alfabetico mediante il metodo compareTo specificato ad hoc –int compareTo(Object obj) Linterfaccia Iterator indica i metodi da implementare per gestire una collezione di oggetti –Caso per caso si deve decidere lordine con cui gli oggetti della collezione devo essere restituiti dai metodi –boolean hasNext() –object next() –void remove()