Interfaccia (informatica)

Con interfaccia, nell'informatica, si indicano diversi tipi di strumenti interfaccia. Esso può indicare il punto di incontro o collegamento, spesso standardizzato, tra sistemi diversi e/o le modalità per permettere la loro interazione sotto forma di scambio di informazioni o, nel paradigma di…

Con interfaccia, nell'informatica, si indicano diversi tipi di strumenti interfaccia. Esso può indicare il punto di incontro o collegamento, spesso standardizzato, tra sistemi diversi e/o le modalità per permettere la loro interazione sotto forma di scambio di informazioni o, nel paradigma di programmazione orientata agli oggetti, gli elementi pubblici di una classe.

Interfaccia hardware

L'interfaccia è il componente fisico o logico che permette a due o più sistemi elettronici di comunicare e interagire.

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

Dal punto di vista fisico, un'interfaccia è caratterizzata da un canale di trasmissione identificato da un mezzo trasmissivo (es. cavo), due connettori e due porte o slot poste agli estremi della trasmissione e, dal punto di vista logico, da una modalità di trasmissione che può essere di tipo seriale e parallelo. Il caso tipico è il collegamento tra apparecchiature elettroniche come ad esempio le componenti interne ed esterne (periferiche) del computer.

Interfacce video

Famiglia di interfacce video

Interfacce generiche

Esistono un certo numero di interfacce generiche, adatte a molti scopi, che in genere i costruttori hanno cura di implementare sempre nei computer che producono, per aumentarne la versatilità. In genere le specifiche per queste interfacce sono standard pubblici, stabilite da enti come l'IEEE o l'ISO.

Sono caduti in disuso i lettori per dischetti (floppy) e le interfacce Centronics (in special modo sui laptop) a favore dei lettori di smart card.

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 nella quale si inserisce un connettore di un cavo (a volte anche wireless) per permettere dunque un collegamento dell'apparato con un altro tramite un link di rete (es. interfaccia ethernet, Wi-Fi, USB). Tipicamente nel caso degli apparati di rete l'interfaccia fisicamente comprende la scheda di rete munita dell'alloggio per il connettore che, nel caso dei terminali (computer), può essere tipicamente o una porta seriale o una porta parallela per il collegamento con le varie periferiche o del terminale con la rete locale.

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. In questo caso l'interfaccia risulta di norma composta esclusivamente di metodi astratti ed eventualmente da un insieme di campi visibili all'esterno di essa. Si avvicina in questo ad una classe astratta, pur presentando caratteristiche distinte. In altre parole un'interfaccia definisce un "contratto", ovvero un insieme di firme di metodi, la cui definizione concreta viene attuata in classi che implementano quell'interfaccia, funzionando quindi come punto di incontro tra componenti simili che hanno una struttura interna diversa. Pertanto ciascuna classe che implementa un'interfaccia definisce concretamente, in maniera distinta da altre classi che implementano tale interfaccia, i metodi la cui firma è presente nell'interfaccia. In Java, tale implementazione può avvenire in maniera diretta, definendo il "corpo" del metodo nella classe implementante stessa, oppure ereditando tale implementazione da una superclasse, oppure ancora delegando l'implementazione ad una sottoclasse. In Java l'implementazione dei metodi definiti nell'interfaccia deve riguardare la totalità di tali metodi. Java consente inoltre ad una classe di implementare più interfacce e ad un'interfaccia di estendere un'altra interfaccia.

Questa seconda accezione si trova in linguaggi come 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 orientato agli oggetti.

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.

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 elettroniche inserite all'interno di un calcolatore sono un'interfaccia, che fa sì che la CPU e la scheda in questione possano comunicare e interagire tra loro.

Servizi correlati

Altre voci

Codice sorgenteC

Codice sorgente

In informatica, il codice sorgente (spesso detto sorgente o codice o listato) è il testo di un algoritmo di un programma scritto in un determinato linguaggio di programmazione, compreso all'interno di un file sorgente, che definisce il flusso di esecuzione del programma stesso, ovvero la sua…

Leggi la voce →
S

Software as a service

Software as a service (acronimo SaaS, lett. "software come servizio", in alcuni casi anche Pay Per Use - PPU cioè lett. "pagare ad [ogni] utilizzo") è un modello di servizio del software applicativo realizzato da un produttore che mette a disposizione un programma, direttamente o tramite terze…

Leggi la voce →
I

IMDb

IMDb, acronimo di Internet Movie Database, è un sito web proprietà di Amazon che cataloga, archivia film, attori, registi, personale di produzione, programmi televisivi, e anche videogiochi.

Leggi la voce →
S

Supplier Relationship Management

I sistemi di Supplier Relationship Management (SRM) (in italiano: "gestione delle relazioni con i fornitori") sono software simili a sistemi Customer Relationship Management (CRM o "gestione delle relazioni con i clienti"), ma sono rivolti alla gestione delle relazioni con i fornitori (invece…

Leggi la voce →
A

Applicazioni Contabili Gestionali

Applicazioni Contabili Gestionali (ACG) è stata una divisione di IBM che ha fatto la storia nel panorama IT italiano con la sua gamma di software gestionali destinati alle PMI.

Leggi la voce →
A

Ada (linguaggio di programmazione)

Ada è un linguaggio di programmazione sviluppato verso la fine degli anni settanta su iniziativa del Dipartimento della Difesa (DOD) degli Stati Uniti. Sia le specifiche che lo sviluppo del linguaggio furono affidati a bandi di gara. Tra le 17 proposte inviate in seguito al bando indetto dal…

Leggi la voce →