Interfaccia C#

Interfaccia C#
Proprio come le classi, ci sono altri contenitori chiamati interfacce che contengono metodi, eventi e proprietà. Le interfacce contengono solo la dichiarazione e la definizione delle funzioni; l'intera descrizione viene utilizzata da qualche altra parte nel programma o principalmente in altre classi che ereditano l'interfaccia. Le interfacce non hanno i loro membri privati. Tutti i membri della descrizione della funzione sono pubblici e agiscono come informazioni astratte. Un'interfaccia viene definita utilizzando l'interfaccia del nome della parola chiave insieme al nome che si desidera dare. Usando le classi, non siamo in grado di eseguire il fenomeno delle eredità multiple. Ma usando le interfacce è possibile eseguire più eredità. Il funzionamento dell'interfaccia sarà discusso qui.

Sintassi per dichiarare un'interfaccia

Interfaccia




Dopo aver definito l'interfaccia, ora li implementeremo utilizzando la seguente sintassi:

# Class x: name_of_interface

Questa dichiarazione viene fatta utilizzando il nome dell'interfaccia associata a una classe con un colon. In questo modo, tutti i membri all'interno dell'interfaccia sono dichiarati vuoti una classe che implementa l'interfaccia dovrebbe implementare tutte le funzionalità dell'interfaccia.

Implementazione dell'interfaccia

Esempio 1

Dichiareremo l'interfaccia con il suo nome dopo la dichiarazione di una biblioteca. All'interno dell'interfaccia, dichiareremo solo il nome della funzione. Verrà anche menzionato il tipo di ritorno. L'interfaccia contiene solo le intestazioni della funzione non contiene la descrizione relativa alla funzione. Quindi, chiudiamo il corpo dell'interfaccia perché qui è definita una sola funzione.

Interfaccia inter1

void display ();

Affinché la funzione venga eseguita, usiamo una classe come un semplice programma C. Ma per l'interfaccia, il nome della classe viene dichiarato lungo l'interfaccia per associarla.

# Classe di test di classe: inter1

All'interno della classe, la funzione è scritta. Abbiamo semplicemente usato l'istruzione console per visualizzare una frase di esempio.

Nel programma principale, creeremo l'oggetto per la classe. Questa dichiarazione viene eseguita in modo dinamico con l'uso della "nuova" parola chiave.

Testclass t = new testclass (); questo oggetto verrà utilizzato per chiamare la funzione dichiarata all'interno della classe dopo la creazione dell'oggetto.

# T.Schermo();

Ora eseguiremo il codice utilizzando un compilatore MCS e mono per eseguire il file con il .Exe Extension.

File $ MCS.cs
File $ mono.exe

Durante l'esecuzione, vedrai che la frase viene visualizzata che è stata dichiarata nell'interface e eseguita in una funzione separata che si accede dall'oggetto nel programma principale.

Esempio 2

A differenza del primo esempio, useremo tre metodi astratti in un'interfaccia. Queste funzioni sono correlate al veicolo. Ogni funzione contiene parametri per accettare i valori che sono stati inviati dalla chiamata di funzione.

Man mano che l'interfaccia viene dichiarata, una classe viene implementata per utilizzare tutte le funzioni all'interno dell'interfaccia. Abbiamo usato due classi che hanno due diversi tipi di veicoli. Ciascuno che implementa tutte e tre le funzioni dichiarate all'interno dell'interfaccia.

La prima funzione relativa a Gear assegnerà un nuovo valore di ingranaggio a quello precedente accettando il valore dal parametro.

# Gear = newGear;

La seconda funzione riguarda la velocità. Quindi, il valore inviato nel parametro verrà aggiunto a quello precedente.

# Velocità = velocità + incremento;

Contrariamente ad SpeedUp, la funzione dei freni ne meno o diminuirà il valore inviato rispetto a quello precedente.

# Velocità = velocità - decremento;

I valori di velocità e attrezzatura verranno visualizzati attraverso la funzione. Non è dichiarato nell'interfaccia ed è la funzione statica della classe.

Un'altra classe è progettata per implementare l'interfaccia. Tutti gli approcci per ciascuna funzione sono gli stessi che abbiamo descritto per la prima classe. Allo stesso modo, la funzione di visualizzazione visualizzerà tutti i dati presenti.

Ora, è tempo di dichiarare il programma principale di accedere a ciascuna classe tramite rispettivamente gli oggetti. Viene creato un campione di classe con il programma principale al suo interno. Dato che abbiamo due classi per implementare l'interfaccia, (bicicletta e bici) creeremo oggetti separatamente per ogni classe.

Innanzitutto, per la bicicletta:

# Bicicletta bicicletta = new Bicycle ();

La creazione di oggetti verrà eseguita dinamicamente. Attraverso questo oggetto, ogni funzione viene chiamata.

# Bicicletta.ChangeGear (2);

Ogni parametro della funzione contiene il valore del tipo intero nell'argomento. Quindi ogni risultato viene visualizzato chiamando la funzione di visualizzazione.

Dopo la bicicletta, verrà creata l'istanza per la bici.

# Bike Bike = new Bike ();

Allo stesso modo, tutte le chiamate di funzione verranno effettuate tramite questo oggetto bici.

# Bicicletta.SpeedUp (4);

Ora eseguiremo il codice per vedere come funziona. Durante l'esecuzione, entrambi i valori per l'ingranaggio e la velocità per ciascuna classe vengono visualizzati separatamente a seconda della sequenza della creazione dell'oggetto e della funzione di funzione tramite l'oggetto.

Esempio 3

Nell'esempio precedente, abbiamo visualizzato solo i valori direttamente nel programma dichiarati nell'interfaccia. Ma questa volta calcoleremo l'area di un poligono avendo la funzione in due diverse forme. Diamo un'occhiata all'implementazione dell'esempio. Innanzitutto, dichiareremo l'interfaccia qui.

Interfaccia ipolygone

Void calcolatearea ();

La funzione non contiene parametri con essa. Ciò significa che tutte le variabili sono definite localmente all'interno della funzione. Dopo l'interfaccia, dichiareremo un rettangolo di classe che implementerà l'interfaccia ipolygon. Quindi, assoceremo la classe al nome dell'interfaccia.

# Rettangolo di classe: ipolygone

All'interno della classe, la funzione Calcolatearea si usa. All'interno della funzione, tutte le variabili sono assegnate con un valore. Questi valori vengono quindi utilizzati nella formula per calcolare l'area del rettangolo.

# int area = l * b;

Dopo i calcoli, viene visualizzato il valore risultante.

Lo stesso fenomeno dell'implementazione dell'interfaccia iPolygon viene eseguito per la forma quadrata. Ma poiché tutti i lati del quadrato sono uguali, non abbiamo bisogno di lunghezze a due lati. Tutti i lati sono di uguale lunghezza, quindi l'area verrà calcolata moltiplicando due lunghezze l'una dall'altra.

# int area = l * l;

Nel programma principale, gli oggetti per entrambe le classi vengono creati e quindi la funzione viene chiamata attraverso questi oggetti.

rettangolo ri = nuovo rettangolo ();
R1.calcolatearea ();

Lo stesso approccio vale per la classe Square.

Ora esegui il codice, è possibile vedere che entrambe le aree di diverse quadrati sono mostrate chiamando le funzioni attraverso i loro oggetti rispettivamente.

Conclusione

C Sharp Interface viene utilizzato per nascondere alcune informazioni specificate in un certo modo per visualizzare solo quelle informazioni importanti. Durante la definizione dell'interfaccia, abbiamo visto che è descritta solo l'intestazione della funzione. La dichiarazione di intestazione è costituita dal tipo di ritorno della funzione e dall'argomento presente nel parametro. In questo articolo, abbiamo implementato alcuni esempi nel sistema operativo Linux. In ogni esempio, viene definita un'interfaccia separata che contiene un singolo o numero di interfacce che vengono descritte in seguito nelle rispettive classi.