20 messaggi dal 06 settembre 2014
Mi stavo informando sulle interfacce sia sulla mia guida sia su msdn, ma non sono riuscito a capire bene alcune cose.

Leggo che le interfacce sono prive di implementazione,quindi hanno i metodi vuoti? Se ho capito bene, allora a che servirebbero i metodi vuoti? Ho capito che servono per sostituire la mancanza della funzionalità di c# dell'ereditarietà multipla delle classi,ma non avrebbe molto senso così,no?

Poi le interfacce si possono creare noi,i nomi e tutto il resto,no? Perché esistono le interfacce IEnumerable, ICollection, IList,ecc? Sono interfacce già create da c# pronte per essere utilizzate e basta soltanto richiamarle?
308 messaggi dal 08 gennaio 2011
Ciao, anche a me non entrava proprio nella testa il senso dell'esistenza delle interfacce :-). Ma poi piano piano ho capito. E' una delle tante comodità per lo sviluppatore. Secondo me vanno viste come dei modelli strutturali dove per struttura si intende un insieme di proprietà e metodi. In pratica quando una classe implementa un interfaccia si può stare sicuri che la classe che la implementa è dotata dei metodi e delle proprietà definiti nell'interfaccia. Inoltre nell'ambito .Net le interfacce possono usarsi per consentire in un certo senso l'ereditarietà multipla.

Già la OOP è una comodità per lo sviluppatore; le interfacce che alla fine sono tipi particolari di classi, sono una comodità nella comodità. :-)

Un piccolo esempio :

Public Interface IStampabile
Sub Stampa()
End Interface

Public Class Persona
Implements IStampabile
Public Property NomeCognome As String
Public Sub Stampa() Implements IStampabile.Stampa
Console.Write(NomeCognome)
End Sub
End Class

Public Class CDAudio
Implements IStampabile
Public Property Titolo
Public Sub Stampa() Implements IStampabile.Stampa
Console.Write(Titolo)
End Sub
End Class

L'esempio mostra come fornire la stessa funzionalità logico/concettuale (stampa) a due tipi diversi tra di essi. Qui, vista la semplicità dell'esempio si potrebbe ritenere superfluo l'uso dell'interfaccia; però se la struttura di una funzionalità è più complessa (decine di metodi e proprietà) e le classi sono tante, allora l'utilità dell'interfaccia diventa evidente.

Diciamo che facilitano anche le schematizzazioni progettuali.

Certo, il discorso sulle interfacce va approfondito.

Ciao.
Modificato da Mario Formosa il 17 settembre 2014 09.38 -

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.