Sommario:
- Definizione: che cosa significa implementazione dell'interfaccia?
- Techopedia spiega l'implementazione dell'interfaccia
Definizione: che cosa significa implementazione dell'interfaccia?
L'implementazione dell'interfaccia, in C #, si riferisce all'eredità di un'interfaccia da una struttura o classe che fornisce la funzionalità per i membri dichiarati nell'interfaccia. I membri dell'interfaccia implementata possono includere metodi, proprietà, indicizzatori ed eventi.
In generale, un'interfaccia rappresenta un contratto che deve essere rispettato da una classe o struttura che implementa tutti i membri specificati nell'interfaccia. I principali vantaggi dell'implementazione dell'interfaccia includono flessibilità, basso accoppiamento, elevata coesione e comportamento polimorfico.
In C #, l'implementazione dell'interfaccia consente a una classe di ereditare da più interfacce anziché da più classi in modo che più comportamenti possano essere ereditati attraverso più interfacce che condividono solo le firme dei metodi. L'interfaccia può essere implementata come proprietà per specificare se la proprietà è di sola lettura, sola lettura o sola scrittura. Un'interfaccia può essere implementata esplicitamente per nascondere un membro e sostituirlo con un altro. A differenza di Java, l'implementazione esplicita dell'interfaccia di C # consente a più interfacce con lo stesso nome e le stesse firme del metodo, di avere implementazioni diverse senza scontro di nomi e fornire risultati diversi in base all'attuale cast dell'oggetto.
Techopedia spiega l'implementazione dell'interfaccia
Simile a una classe astratta, un'interfaccia non fornisce un'implementazione predefinita. Un membro di una classe o di una struttura che implementa un membro di un'interfaccia deve essere pubblico, non statico e avere lo stesso nome e la stessa firma dell'interfaccia.
Ad esempio, un'interfaccia IAccount può essere implementata da una classe, SavingAccount che implementa i membri di IAccount che possono includere BalanceAmount, DateOfOpening, ecc. Come proprietà e metodi come PrintStatement, CalculateInterest, ecc.
L'implementazione dell'interfaccia può essere implicita quando una classe base di una classe derivata implementa già l'interfaccia. Non è necessario specificare esplicitamente tutte le interfacce di base nell'elenco delle classi di base della classe derivata. Inoltre, la classe derivata può modificare il comportamento dell'interfaccia che è già stato definito nella classe base sostituendo i membri virtuali nella classe derivata.
L'implementazione dell'interfaccia è esplicita quando i membri di due o più interfacce che hanno lo stesso nome con la stessa firma ma che svolgono due diverse funzioni, sono ereditati da una classe o struttura che implementa esplicitamente ciascun membro. Tale membro è chiamato con il nome dell'interfaccia e un punto ed è accessibile solo attraverso un'istanza dell'interfaccia. A differenza dei metodi impliciti, i metodi espliciti non possono essere astratti o virtuali.