SlideShare une entreprise Scribd logo
1  sur  43
PRINCIPI DELLA OOP Ereditarietà e polimorfismo
Ereditarietà e specializzazione ,[object Object],[object Object],[object Object],[object Object],[object Object]
Ereditarietà - 1 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Classe base Animale public   class  Animale { private  String  nome ; public  Animale(String nomeProprio) { nome  = nomeProprio; } public  String getNome() { return   nome ; } public  void muoviti() { ……………………………… } public  void mangia() { ……………………………… } public  String parla() { return   "???”  //come parla un animale generico????; }} Come si muove, come mangia e come parla un animale generico? Costruttore : inizializza lo stato di un oggetto assegnando dei valori alle proprietà Metodo d’accesso : restituisce il nome dell’animale
Fido e Cocorito - 1  Animale Animale fido = new Animale(“Fido”); fido.muoviti(); fido.parla();  fido.mangia() fido.muoviti();  Animale coco = new Animale(“cocorito”); coco.muoviti(); coco.parla();  coco.mangia(); coco.muoviti();  Tra gli animali possiamo avere cani, pappagalli e altri con diverso comportamento Fido e Cocorito sono entrambi animali, e quindi possono mangiare, muoversi e parlare, ma non nello stesso modo.  Come risolvere il problema?? dovrebbe fare baubau dovrebbe dire  “ mi chiamo cooocorrito”
Fido e Cocorito - 2  Pappagallo Cane fido = new Cane(“Fido”); fido.muoviti(); fido.parla(); // baubau fido.mangia() fido.muoviti();  Animale coco = new Animale(“cocorito”); coco.muoviti(); coco.parla(); // mi chiamo cooocorrito coco.mangia(); coco.muoviti();  Posso creare due classi, una classe Cane e una classe Pappagallo Cane Per entrambe le classi definisco gli stessi attributi e gli stessi metodi
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Ereditarietà /2 Si tratta degli stessi attributi e metodi della classe Animale!  Devo duplicarlo in Cane e in Papagallo??
Ereditarietà /3 Questo diagramma indica che Cane e Pappagallo  derivano dalla classe Animale dalla quale ereditano attributi e metodi; in Java si dice che “estendono” la classe Animale Superclasse Classi derivate  Cane Pappagallo Animale -nome +getNome() +muoviti() +mangia() +parla()
Classe specializzata Cane ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Relazioni / Specializzazione ,[object Object],[object Object],[object Object]
Relazione “is a” ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Test 1: si tratta di ereditarietà? ,[object Object],[object Object],[object Object]
Risposta al test 1 ,[object Object],[object Object]
Test 2: si tratta di ereditarietà? ,[object Object],[object Object]
Risposta al test 2 ,[object Object],[object Object],[object Object]
Test 3 : si tratta di ereditarietà? ,[object Object]
Risposta al test 3 ,[object Object],[object Object]
L’ereditarietà nel mondo reale ,[object Object],[object Object],[object Object]
L’ereditarietà nel mondo reale ,[object Object],[object Object],[object Object],[object Object]
Ereditarietà e polimorfismo/1 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Override ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],I metodi della classe base sono stati  ridefiniti , anche se hanno conservato stesso nome e stessa definizione (parametri e restituzione) Questo tipo di polimorfismo è detto  override Puoi fare qualcosa di analogo anche per la classe Pappagallo. Prova da solo!!
Ereditarietà / 4 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ereditarietà /5 ,[object Object]
Polimorfismo /1 ,[object Object],[object Object],[object Object]
Polimorfismo / 2 ,[object Object],[object Object],[object Object],[object Object]
Riferimenti polimorfi/ 1 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Riferimento Oggetto
Riferimenti polimorfi/2 ,[object Object],[object Object],[object Object]
Riferimenti polimorfi/3 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Operatore instanceof ,[object Object],Animale fido =  new  Cane( "Fido" ); if  (fido  instanceof  Gatto) { System. out .println( "Fido è un gatto" ); }  else   if  (fido  instanceof  Cane) { System. out .println( "Fido è un cane" ); }
Classi e metodi astratte /1  ,[object Object],[object Object],[object Object],[object Object],[object Object]
Classi e metodi astratti /2 ,[object Object],[object Object],[object Object],[object Object]
Classi e metodi astratti /3 ,[object Object],public   abstract class  Animale { ………………… .. ………………… .. public abstract  String parla();  //manca il corpo public abstract  String muoviti();  //manca il corpo public abstract  String mangia();  //manca il corpo ………………………… .. }
Classe Object /1 ,[object Object],[object Object],[object Object],public   class  Animale  extends  Object { ………………………… . } public   class  Animale { …………………… . } ,[object Object]
Classe Object /2 ,[object Object],[object Object],public   class  Object { // Verifica se due oggetti sono uguali public   boolean   equals (Object obj) { } // Converte un oggetto in stringa public  String  toString () { } }
Ereditarietà singola e interfacce /1 ,[object Object],[object Object],[object Object],[object Object],[object Object]
Ereditarietà singola e interfacce /2 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Interfacce/1 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Interfacce/2 public   class  Cane  extends  Animale  implements  OggettiNatanti { ... ... public   boolean  nuota() { return   true ; } } public   class  Pappagallo  extends  Animale  implements  OggettiVolanti{ ... ... public   boolean  vola() { return   true ; }  }
Implementazione di interfacce ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Esercizio 1.1 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Esercizio 1.2 ,[object Object],[object Object],[object Object]
Esercizio 2.1 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Esercizio 2.2 ,[object Object],[object Object],[object Object],[object Object]

Contenu connexe

Tendances

Resilient service to-service calls in a post-Hystrix world
Resilient service to-service calls in a post-Hystrix worldResilient service to-service calls in a post-Hystrix world
Resilient service to-service calls in a post-Hystrix worldRares Musina
 
XML Avancé : DTD, XSD, XPATH, XSLT, XQuery
XML Avancé : DTD, XSD, XPATH, XSLT, XQueryXML Avancé : DTD, XSD, XPATH, XSLT, XQuery
XML Avancé : DTD, XSD, XPATH, XSLT, XQueryRachid NID SAID
 
Google Hacking - Explorando falhas de dispotivos
Google Hacking - Explorando falhas de dispotivosGoogle Hacking - Explorando falhas de dispotivos
Google Hacking - Explorando falhas de dispotivosC H
 
SQL Tutorial for Beginners
SQL Tutorial for BeginnersSQL Tutorial for Beginners
SQL Tutorial for BeginnersAbdelhay Shafi
 
Java: strings e arrays
Java: strings e arraysJava: strings e arrays
Java: strings e arraysArthur Emanuel
 
Exercícios de mysql
Exercícios de mysqlExercícios de mysql
Exercícios de mysqlLeo Frazão
 
Logica Algoritmo 08 Recursividade
Logica Algoritmo 08 RecursividadeLogica Algoritmo 08 Recursividade
Logica Algoritmo 08 RecursividadeRegis Magalhães
 
Programação orientada a objetos – II
Programação orientada a objetos – IIProgramação orientada a objetos – II
Programação orientada a objetos – IIGabriel Faustino
 
NoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAPNoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAPAricelio Souza
 
Advanced Object-Oriented/SOLID Principles
Advanced Object-Oriented/SOLID PrinciplesAdvanced Object-Oriented/SOLID Principles
Advanced Object-Oriented/SOLID PrinciplesJon Kruger
 
Le passage du diagramme de classe vers le model objet relationnel
Le passage du diagramme de classe vers le model objet relationnelLe passage du diagramme de classe vers le model objet relationnel
Le passage du diagramme de classe vers le model objet relationnelHassen Sic
 
Analyse d'un kernel (crash, core) dump
Analyse d'un kernel (crash, core) dumpAnalyse d'un kernel (crash, core) dump
Analyse d'un kernel (crash, core) dumpGaëtan Trellu
 
Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)José Toro
 
QCM système d'information
QCM système d'informationQCM système d'information
QCM système d'informationFrust Rados
 
Architecture orientée service (SOA)
Architecture orientée service (SOA)Architecture orientée service (SOA)
Architecture orientée service (SOA)Klee Group
 

Tendances (20)

Resilient service to-service calls in a post-Hystrix world
Resilient service to-service calls in a post-Hystrix worldResilient service to-service calls in a post-Hystrix world
Resilient service to-service calls in a post-Hystrix world
 
XML Avancé : DTD, XSD, XPATH, XSLT, XQuery
XML Avancé : DTD, XSD, XPATH, XSLT, XQueryXML Avancé : DTD, XSD, XPATH, XSLT, XQuery
XML Avancé : DTD, XSD, XPATH, XSLT, XQuery
 
Google Hacking - Explorando falhas de dispotivos
Google Hacking - Explorando falhas de dispotivosGoogle Hacking - Explorando falhas de dispotivos
Google Hacking - Explorando falhas de dispotivos
 
SQL Tutorial for Beginners
SQL Tutorial for BeginnersSQL Tutorial for Beginners
SQL Tutorial for Beginners
 
Java: strings e arrays
Java: strings e arraysJava: strings e arrays
Java: strings e arrays
 
Présentation SOA
Présentation SOAPrésentation SOA
Présentation SOA
 
Exercícios de mysql
Exercícios de mysqlExercícios de mysql
Exercícios de mysql
 
Logica Algoritmo 08 Recursividade
Logica Algoritmo 08 RecursividadeLogica Algoritmo 08 Recursividade
Logica Algoritmo 08 Recursividade
 
Programação orientada a objetos – II
Programação orientada a objetos – IIProgramação orientada a objetos – II
Programação orientada a objetos – II
 
NoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAPNoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAP
 
Advanced Object-Oriented/SOLID Principles
Advanced Object-Oriented/SOLID PrinciplesAdvanced Object-Oriented/SOLID Principles
Advanced Object-Oriented/SOLID Principles
 
Introduction à ASP.NET
Introduction à ASP.NETIntroduction à ASP.NET
Introduction à ASP.NET
 
At00 apostila sql
At00   apostila sqlAt00   apostila sql
At00 apostila sql
 
Le passage du diagramme de classe vers le model objet relationnel
Le passage du diagramme de classe vers le model objet relationnelLe passage du diagramme de classe vers le model objet relationnel
Le passage du diagramme de classe vers le model objet relationnel
 
Analyse d'un kernel (crash, core) dump
Analyse d'un kernel (crash, core) dumpAnalyse d'un kernel (crash, core) dump
Analyse d'un kernel (crash, core) dump
 
Chapter 4 Structured Query Language
Chapter 4 Structured Query LanguageChapter 4 Structured Query Language
Chapter 4 Structured Query Language
 
Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)
 
QCM système d'information
QCM système d'informationQCM système d'information
QCM système d'information
 
Architecture orientée service (SOA)
Architecture orientée service (SOA)Architecture orientée service (SOA)
Architecture orientée service (SOA)
 
Mysql
MysqlMysql
Mysql
 

Similaire à Principi della oop - Ereditarietà e polimorfismo

Similaire à Principi della oop - Ereditarietà e polimorfismo (6)

Ereditarietà E Polimorfismo
Ereditarietà E PolimorfismoEreditarietà E Polimorfismo
Ereditarietà E Polimorfismo
 
Java 01
Java 01Java 01
Java 01
 
Java 02
Java 02Java 02
Java 02
 
TOP: Taxonomies on Protege
TOP: Taxonomies on ProtegeTOP: Taxonomies on Protege
TOP: Taxonomies on Protege
 
Metodi Per Riutilizzare Programmi Oo
Metodi Per Riutilizzare Programmi OoMetodi Per Riutilizzare Programmi Oo
Metodi Per Riutilizzare Programmi Oo
 
Java OCA teoria 4
Java OCA teoria 4Java OCA teoria 4
Java OCA teoria 4
 

Dernier

discorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxdiscorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxtecongo2007
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxlorenzodemidio01
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxlorenzodemidio01
 
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxNicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxlorenzodemidio01
 
Tosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxTosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxlorenzodemidio01
 
Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................giorgiadeascaniis59
 
Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileNicola Rabbi
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxlorenzodemidio01
 
descrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxdescrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxtecongo2007
 
case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....giorgiadeascaniis59
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxlorenzodemidio01
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoyanmeng831
 
Presentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaPresentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaSalvatore Cianciabella
 
LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................giorgiadeascaniis59
 
Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.camillaorlando17
 
Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxtecongo2007
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxlorenzodemidio01
 
Aristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptxAristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptxtecongo2007
 

Dernier (18)

discorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxdiscorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptx
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptx
 
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxNicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
 
Tosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxTosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptx
 
Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................
 
Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibile
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
 
descrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxdescrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptx
 
case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceo
 
Presentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaPresentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione Civica
 
LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................
 
Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.
 
Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptx
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
 
Aristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptxAristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptx
 

Principi della oop - Ereditarietà e polimorfismo

  • 1. PRINCIPI DELLA OOP Ereditarietà e polimorfismo
  • 2.
  • 3.
  • 4. Classe base Animale public class Animale { private String nome ; public Animale(String nomeProprio) { nome = nomeProprio; } public String getNome() { return nome ; } public void muoviti() { ……………………………… } public void mangia() { ……………………………… } public String parla() { return "???” //come parla un animale generico????; }} Come si muove, come mangia e come parla un animale generico? Costruttore : inizializza lo stato di un oggetto assegnando dei valori alle proprietà Metodo d’accesso : restituisce il nome dell’animale
  • 5. Fido e Cocorito - 1 Animale Animale fido = new Animale(“Fido”); fido.muoviti(); fido.parla(); fido.mangia() fido.muoviti(); Animale coco = new Animale(“cocorito”); coco.muoviti(); coco.parla(); coco.mangia(); coco.muoviti(); Tra gli animali possiamo avere cani, pappagalli e altri con diverso comportamento Fido e Cocorito sono entrambi animali, e quindi possono mangiare, muoversi e parlare, ma non nello stesso modo. Come risolvere il problema?? dovrebbe fare baubau dovrebbe dire “ mi chiamo cooocorrito”
  • 6. Fido e Cocorito - 2 Pappagallo Cane fido = new Cane(“Fido”); fido.muoviti(); fido.parla(); // baubau fido.mangia() fido.muoviti(); Animale coco = new Animale(“cocorito”); coco.muoviti(); coco.parla(); // mi chiamo cooocorrito coco.mangia(); coco.muoviti(); Posso creare due classi, una classe Cane e una classe Pappagallo Cane Per entrambe le classi definisco gli stessi attributi e gli stessi metodi
  • 7.
  • 8. Ereditarietà /3 Questo diagramma indica che Cane e Pappagallo derivano dalla classe Animale dalla quale ereditano attributi e metodi; in Java si dice che “estendono” la classe Animale Superclasse Classi derivate Cane Pappagallo Animale -nome +getNome() +muoviti() +mangia() +parla()
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38. Interfacce/2 public class Cane extends Animale implements OggettiNatanti { ... ... public boolean nuota() { return true ; } } public class Pappagallo extends Animale implements OggettiVolanti{ ... ... public boolean vola() { return true ; } }
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.