[java] Concetto di interface

SenzaCera
Salve..io volevo semplicemente sapere quale fosse l' utilità di un interfaccia in java..mi spiego..io so che dichiarando un' interfaccia , al suo nterno pongo dei metodi astratti senza implementazione;

Dopo in una altra classe con il comando implements implemento i metodi scritti nell' interfaccia..ecco fatto ciò io nn capisco a cosa serva fare tutto ciò..
Sul libro non lo spiega per nulla speravo che qualcuno potesse illuminarmi!

Risposte
fu^2
serve grossomodo per creare una cosa formalmente corretta, ovvero se come interfaccia hai la classe animale con metodi che so verso e zampe, allora sia la classe gatto che la classe cane che implementano animale sono obbligate ad avere quei metodi.

In questo modo tutte le classi che implementano una interfaccia sono consistenti sicuramente col set di metodi di base che si vuole avere .

nicostyle86
Posto che Java supporta solo ed esclusivamente l'ereditarietà singola, supponi di avere la classe "Animale" e due sue sottoclassi: "Pesci" e "Rettili".
Possiamo affermare che le due sottoclassi "Pesci" e "Rettili" hanno generalmente una particolarità comune, ovvero appartenere alla categoria dei "Nuotatori".

Visto che "Pesci" e "Rettili" ereditano già da "Animale" (in quanto sue sottoclassi) per far si che, tali classi, possano implementare attributi e metodi della classe "Nuotatori", si dice che questi ultimi implementano l'intefaccia "Nuotatore" (quindi due o più classi possono avere in comune una stessa interfaccia e inoltre ogni classe può implementare più interfacce).

Grosso modo, l'utilizzo delle interfacce, viene posto in atto proprio per sopperire al "limite" dell'ereditarietà singola proprio del linguaggio Java. In realtà non sono solo questi i vantaggi che derivano dall'utilizzo delle interfacce.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.