Newsgroup: it.comp.lang.visual-basic
Titolo: [net] Interfacce... non le capisco proprio

Salve gente,
dopo un po' di studio sui libri, mi rivolgo di nuovo a voi per un
chiarimento.
Sono arrivato al capitolo "interfacce" e non ho capito per niente perche' e
quando si utilizzano. Ho provato anche a leggere la guida microsoft, ma i
dubbi permangono.
Sulla guida si dice che l'interfaccia e' utile quando si rende necessario,
per esempio, cambiare un tipo di dato da integer a long e questo, fatto
sulla classe potrebbe portare ad un malfunzionamento se altre classi
derivate non aggiornassero il parametro da passare. La guida non dice
altro... mi viene da pensare che allora basterebbe cambiare il tipo di dato
nell'interfaccia, pero' una delle *imposizioni, pena taglio della mano
destra* e' che, una volta pubblicata, l'interfaccia e' immodificabile.
Chi mi puo', magari con qualche esempio (forse pretendo troppo ?? :-)) ) far
capire meglio questo argomento?
Ah, ho capito una cosa da quando mi sono imbattuto in questo .net ......
sono proprio uno zuccone, per capire un concetto ci devo tornare, tornare,
tornare.
Ciao... Maurizio

 ha scritto nel messaggio
news:br9b6d$h0g$1...@newsread.albacom.net...

Qualche info potrebbe trovarsi in:
http://groups.google.it/groups?hl=it&lr=&ie=ISO-8859-1&q=vb.net%2Binterfacce
&meta=group%3Dit.comp.lang.visual-basic
Ave
giuseppeD

 &meta=group%3Dit.comp.lang.visual-basic
Più che "interfacce" chiederei "interface"
Ciao

 ha scritto nel messaggio
news:br9gr8$rrnt$1...@ID-184808.news.uni-berlin.de...

Completo il mancante:
http://groups.google.it/groups?hl=it&lr=&ie=ISO-8859-1&q=vb.net%2Binterface&
meta=group%3Dit.comp.lang.visual-basic
Ave
giuseppeD

...
Innanzi tutto, grazie per le risposte.
In effetti avevo gia' trovato un articolo di Moreno che riportava una
spiegazione su cosa siano le interfacce.
L'articolo e':
http://groups.google.it/groups?hl=it&lr=&ie=UTF-8&frame=right&th=8eba0cc68f7
e36b0&seekm=sn7u1vgnal21pbahqkf62d1crvjiqsqrcb%
404ax.com#link2
Riprendendo il suo esempio, visto che sia la classe cane che la classe gatto
devono implementare le sub Mangia e Mordi definite nell'interfaccia
Ianimale, dal momento che nelle classi Ccane e Cgatto devo comunque scrivere
il codice, quale e' l'utilita' delle interfacce? Il punto che non riesco a
capire e' questo.
Ciao e grazie... Maurizio

 capire e' questo.
Innanzi tutto leggi gli articoli relativi a .net e non vb6 :)
Poi guarda i primi che saltano fuori con la ricerca di "interface".
Ciao


private sub prova()
dim obj as Ianimale, oCane as Ccane, oGatto as Cgatto
   set oCane = new Ccane
   set obj = oCane
   proc(obj)
 
   set oGatto = New Cgatto
   set obj=oGatto
   proc(obj)
end sub
private sub prova(obj as Ianimale)
...
end sub
Risposta: puoi passare alla procedura proc il cane o il gatto, e la funzione
le accetta poichè implementano l'interfaccia Ianimale. Quando digiti obj.
poi ti appare l'elenco delle proprietà e dei metodi dell'interfaccia, anche
se puoi utilizzare proprietà e metodi del cane o del gatto (li devi
scrivere, non sono nell'elenco). Ovvio che se esegui un metodo del cane
quando obj è un gatto darà un run time error.
Ciao,
Bremen
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/