Newest Viewed Downloaded

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 dell’ingegneria Corso di laurea specialistica in matematica e applicazioni indirizzo matematica Universita di Camerino

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 dell’ingegneria Corso di laurea specialistica in matematica e applicazioni indirizzo matematica Universita di Camerino

Interfacce

Un’interfaccia 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 l’uso del modificatore abstract ma poiché tutti i metodi di un interfaccia sono necessariamente astratti spesso viene omesso L’interfaccia viene usata per definire formalmente l’insieme dei metodi che una classe deve definire

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 un’interfaccia viene definito il corpo L’intestazione di ciascun metodo termina con il ;

Interfacce

Un’interfaccia non può essere instanziata I metodi di un interfaccia hanno visibilità public per default Le classi implementano un’interfaccia Affermandolo nella intestazione della classe Fornendo l’implementazione per ciascun metodo dell’interfaccia Una classe che implementa un’interfaccia, deve definire tutti i metodi dell’interfaccia altrimenti il compilatore segnala errore

Implementare un interfaccia

public class PuoFare implements Fattibile { public void faiQuesto() { // codice } public int faiQuello() { // codice } // etc. } implements è una parola riservata A ogni metodo dell’interfaccia Fattibile viene data la definizione appropriata

Implementare un interfaccia

La classe deve implementare tutti i metodi dichiarati nell’interfaccia Una classe che implementa un’interfaccia può anche definire altri metodi Una classe può implementare diverse interfacce Le diverse interfacce sono separate da virgole nella clausola di implementazione

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 un’interfaccia (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 l’interfaccia Fattibile Il riferimento è polimorfo, cioé può assumere diverse forme

Polimorfismo con le interfacce

Il riferimento polimorfico viene risolto al tempo dell’esecuzione, 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 l’oggetto cui punta obj cambia L’uso di riferimenti polimorfi può portare a un disegno elegante e robusto del software, talvolta oscuro

Alcune interfacce standard

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

Showing 1 - 9 of 9 items Details

Name: 
lezione6
Author: 
Diletta Romana Cacciagrano
Company: 
Diletta Romana Cacciag...
Description: 
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 dell’ingegneria Corso di laurea specialistica in matematica e applicazioni indirizzo matematica Universita di Camerino
Tags: 
interfaccia | metodi | metodo | può | interfacce | public | classe | viene
Created: 
5/10/2007 5:06:39 PM
Slides: 
9
Views: 
18
Downloads: 
0
Rating: 
0


> Comment



Share this presentation
|

Comments

Share this presentation:

|
Sitemap