Interfaccia (informatica)

Da Wikipedia, l'enciclopedia libera.
(Reindirizzamento da Interfaccia (programmazione))
Vai a: navigazione, cerca

L'interfaccia in informatica denota un concetto generico che rappresenta il modo ed il punto di incontro stabilito tra diversi sistemi per permettere l'interazione o uno scambio di informazioni.

Indice

[modifica] Descrizione

L'interfaccia rappresenta quel componente, fisico o logico, che permette a due o più sistemi di poter comunicare ed interagire tra loro, cosa che spesso non è possibile a causa della diversa natura o realizzazione del sistema stesso, o per il semplice fatto che il progetto iniziale non prevedesse questa possibilità.

In informatica il concetto di interfaccia trova un riscontro sia in ambito hardware, ad esempio nei bus standard per la memorizzazione come SATA o SCSI, ma anche in ambito software, in particolar modo nel paradigma di programmazione orientata agli oggetti dove è utilizzata come uno dei più importanti meccanismi per la realizzazione dell'ereditarietà.

Interfacciare vuol dire quindi collegare due o più dispositivi, in modo da poter permettere uno scambio di informazioni, seguendo un formato standard che consente lo scambio di dati.

[modifica] Interfaccia nelle reti

Nell'ambito dei dispositivi di rete e dei terminali host di rete un'interfaccia rappresenta logicamente una porta fisica di connessione in ingresso o in uscita al dispositivo alla quale si inserisce un connettore di un cavo per permettere dunque un collegamento dell'apparato con un altro tramite un link di rete. Tipicamente nel caso degli apparati di rete l'interfaccia è fisicamente costituita dalla scheda di rete munita dell'alloggio per il connettore, nel caso dei terminali (computer) può essere tipicamente o una porta seriale o una porta parallela per il collegamento delle varie periferiche o del terminale con la rete locale.

[modifica] Interfaccia nella programmazione

[modifica] Interfaccia utente

Exquisite-kfind.png Per approfondire, vedi la voce Interfaccia utente.

Probabilmente l'esempio che risulta più comune e facilmente comprensibile è quello di interfaccia utente. In questo caso l'interfaccia rappresenta quella componente, che assume ad esempio un software, per far sì che l'utente riesca a comunicare ed interagire con la macchina.

[modifica] Interfaccia nella programmazione orientata agli oggetti

Nei linguaggi di programmazione orientati agli oggetti, il termine interfaccia è usato in due accezioni distinte.

Da un lato, l'interfaccia di una classe è l'insieme dei dati e dei metodi visibili all'esterno degli oggetti che sono istanze di quella classe.

La seconda accezione, invece, si trova solo in determinati linguaggi e indica un tipo paragonabile alla classe, ma soggetto a restrizioni ulteriori: risulta composta esclusivamente di metodi astratti ed eventualmente da un insieme di campi visibili all'esterno di essa, funzionando quindi come punto di incontro tra componenti simili che hanno una struttura interna diversa. Questa seconda accezione si trova in linguaggi come il Java e i linguaggi della famiglia .NET, che non supportano l'ereditarietà multipla tra classi, ma solo tra interfacce.

Le interfacce (intese nella seconda accezione) spesso rappresentano il componente di livello più alto di un'applicazione e, dal punto di vista del client, il più critico. Esse possono essere usate per migliorare l'estensibilità e la riusabilità di un programma object oriented.

[modifica] Altri tipi di interfaccia

Ciò che costituisce un'interfaccia dipende dalle regole del contesto in cui è inserita ed essa viene progettata seguendo ogni criterio utile per raggiungere il miglior risultato del prodotto che si sta utilizzando: ad esempio, i driver utilizzati per pilotare delle schede inserite all'interno di un calcolatore sono un'interfaccia, che fa sì che la CPU e la scheda in questione possano comunicare.

[modifica] Voci correlate

informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica
Strumenti personali
Namespace

Varianti
Azioni
Navigazione
Comunità
Stampa/esporta
Strumenti
Altre lingue