Newsgroup: it.comp.lang.delphi
Titolo: interfacce

In che casi possono essere utili le interfacce in object Pascal visto che
tanto non possono contenere nessun implementazione e nemmeno campi di dati?



Le interfacce servono a gestire gli oggetti COM/DCOM.
La loro utilita' e' quella di conferire appunto una "interfaccia"
all'operatore, nel senso di una raccolta di chiamate a metodi
implementati dalla classe vera e propria.
Ho usato pochissimo le interfacce in Delphi, ma in C++ sono essenziali
per assicurare la compatibilita' binaria del codice (visto che il C++
e' un linguaggio per natura incompatibile a livello binario).
--
Andrea Laforgia (ICQ 87230455)
http://www.geocities.com/AndreaLaforgia
"ci sono tre tipi di persone nel mondo : quelli che
 sono bravi in matematica e quelli che non lo sono."

>Le interfacce servono a gestire gli oggetti COM/DCOM.
Non proprio. Io direi che gli oggetti COM/DCOM utilizzano le
interfacce. Non voglio sembrare pignolo, e scusami se questa
puntualizzazione ti sembra eccessiva, ma non vorrei che le persone non
interessate a COM si astengano dall'usare le interfacce.
Rocco Barbaresco:
Herrare Humanum Est,
Perseverare Ovest ....
(By Fichi D'India)

tanto non possono contenere nessun implementazione e nemmeno campi di dati?
Tanto per fare un esempio le interfacce permettodo di "Ottenere"
l'ereditarietą multipla in Delphi. 


puntualizzazione ti sembra eccessiva
+ che eccessiva mi sembra opinabile, se non inutile.
Nessuno sta affermando che le interfacce servono SOLO a gestire
COM/DCOM e nessuno sta escludendo altri possibili utilizzi essendo
tipi predefiniti del linguaggio. E' vero, d'altronde, che le
interfacce vengono nella maggior parte dei casi utilizzate per
"interfacciarsi", appunto, ad oggetti COM/DCOM.


 Rocco Barbaresco:
Questo discorso è interessante...scusate se mi intrometto...
Ma, a parte COM/DCOM l'ereditarietà multipla è un'ottimo motivo per
utilizzare le interfacce !
Potresti, per favore, farmi un esempio "concreto" di ereditarietà multipla
che abbia un "senso" e uno "scopo"...
Perdonami se nella frase precedente sembro un pò ironico ma sono serio. Non
riesco a focalizzare bene quando mi serve l'ereditarietà multipla in un
progetto...
grazie
Solid Snake IT


Prova a dare un'occhiata a questo (anche se non č molto concreto..)
http://www.delphizine.com/features/2000/03/di200003cj_f/di200003cj_f.asp
Ciao,


 wrote:

Lo scopo e' proprio questo: fornire la semplice interfaccia, senza
nessuna indicazione su come deve essere implementata. Se ne occupera'
la classe che "realizza" l'interfaccia a implementare i metodi.
Cosi' si puo' permettere a classi che hanno genitori differenti di
condividere un'interfaccia. E' una forma + moderna (forse meno
flessibile) di ereditarieta' multipla.
Puo' essere anche un modo per realizzare in maniera + pulita classi
astratte pure. Anziche' create una classe astratta da cui derivare
classi che la rendono concreta, si puo' _definire_ l'interfaccia, e
poi realizzarla con classi concrete. La differenza e' soprattutto di
impostazione, che e' + "naturale".
Non so se sono riuscito a spiegarmi :-)
Ciao
--
Piero Bonanno
bop...@libero.it
pie...@tiscalinet.it
bop...@tin.it
bpie...@hotmail.com
______________________________________________
"Madame, lei ha tra le gambe uno strumento
che puo' offrire piacere a migliaia di persone,
e tutto quello che sa fare e' grattarlo"
- Sir Thomas Beechan a una violoncellista

 ha scritto nel messaggio
news:9490q3$7u2$1...@lacerta.tiscalinet.it...
