Newsgroup: it.comp.java
Titolo: Aiuto Interfacce

Salve a tutti
Sono alle primissime armi con java e sto'cercando di apprendere i fondamenti
del linguaggio. Per la prima volta mi sono trovato a che fare con le
INTERFACCE ebbene .... non ne ho capito nulla, o meglio, non ho ben capito
quale sia la loro utilita'. Do' per scontato che a qualcosa serviranno
sicuramente ma ...
Mi è chiaro il concetto che le Interfacce rappresentano un modo per
garantire a determinati oggetti di potersi avvalere di metodi non ereditati
direttamente dalle relative superclassi ma, anzicche'definire metodi
necessari ad una classe all'esterno ( in un intefaccia ), non sarebbe meglio
definire all'interno di una classe i metodi che alla stessa mancano per far
si che le proprie istanze ne possano fare uso ? Oltretutto i metodi
racchiusi in una interfaccia sono solo definizionidi metodi senza
implementazione .. giusto ? Gli stessi dovrebbero essere inplementati
all'interno degli oggetti che ne faranno uso .. vero ? A CHE SCOPO TUTTO
QUESTO ?? Mi ripeto ... non sarebbe meglio (o per lo meno uguale) definire
direttamente all'interno di una classe i metodi che alla stessa mancano per
far si che le proprie istanze ne possano fare uso, senza coinvolgere un
interfaccia ?
Ringrazio in anticipo chiunque sia in grado di darmi qualche chiarimento
STEFANO

 Ringrazio in anticipo chiunque sia in grado di darmi qualche chiarimento
Visto come mi sono spiegato bene (???) mi sa che i ringraziamenti non mi
toccano...  ;-)
Ciao
Giacomo

 si che le proprie istanze ne possano fare uso ? 
Una classe dovrebbe fare solo quello che è strettamente necessario.
Per farti capire a cosa servono le interfacce e come usarle cercherò
di metterti nell'ottica nella quale di solito mi metto io.
Facciamo un esempio:
Immagina di dover implementare un sistema di Logging.
Tale sistema deve poter effettuare il log dell'appl. su file e su
schermo.
La cosa migliore è pensare di dividere le due operazioni in due classi
diverse
chiamate FileLogger e ConsoleLogger (e fin qui siamo d'accordo....
spero :-) ). Come puoi capire entrambi le classi hanno un metodo
chiamato log ed è qui che entrano in gioco le interfacce, infatti le
due classi svolgono la stessa operazione (cioè la scrittura del log)
ma cambia il modo in cui tale operazione viene effettuata.
L'interfaccia è un modo ad alto livello di definire delle operazioni e
decidi di delegarne alle classi che implementano questa interfaccia
l'implementazione specifica del metodo.
Spero di essere stato chiaro.
G.M.


 ha scritto nel messaggio
news:6ff4c396.03052...@posting.google.com...


 ha scritto nel messaggio
news:CGcza.24731$lK4.7...@twister1.libero.it...


 spiegazione che mi hai dato ..... GRAZIE E CIAO STEFANO
Più o meno a me è successa la stesa cosa, anche se in tempi più ristretti
(ho 24 anni, e 15 anni fa, a 9 anni, ancora il basic non sapevo neanche cosa
fosse!). Il mio primo approcio con java (e con la programmazione a oggetti)
risale a circa a 1 anno fa, e pur avendo imparato molto in questi mesi
(specialmente grazie a mio fratello che ha un'ottima preparazione), mi rendo
conto pralndo con lui di essere ancora molto lontano da pensare veramente a
oggetti, e faccio errori banali di progettazione... Tra l'altro mi
ripropongo da tempo di leggere un libro che lui mi ha consigliato (sul
momento non ne ricordo il nome) sui concetti generali della programmazione
ad oggetti, ma vai a trovare il tempo...
Alla prossima
Ciao
Giacomo