 |
 |
Interfacce
|
Un'interfaccia è un tipo di riferimento e contiene soltanto i membri astratti. I membri dell'interfaccia possono essere eventi, metodi, proprietà e dispositivi di indirizzamento. Ma l'interfaccia contiene soltanto la dichiarazione per i relativi membri. Tutta l'esecuzione deve essere disposta nel codice categoria che lo realizza. L'interfaccia non può contenere i costanti, i campi d'informazione, i costruttori, i distruttori ed i membri statici. Tutte le dichiarazioni del membro all'interno dell'interfaccia sono implicitamente pubblico.
|
Definizione dell'interfaccia:
Guardiamo un esempio semplice per le interfacce del c#. In questo esempio interfaccia dichiara la funzionalità bassa dell'oggetto di nodo.
|
interface INode
{
string Text
{
get;
set;
}
object Tag
{
get;
set;
}
int Height
{
get;
set;
}
int Width
{
get;
set;
}
float CalculateArea();
}
|
|
La suddetta interfaccia di INode ha dichiarato alcune proprietà astratte e la funzione che dovrebbero essere effettuate dai codici categoria derivati.
|
Campione per derivare un codice categoria usando corrente alternata #. Interfaccia netta
|
public class Node : INode
{
public Node()
{}
public string Text
{
get
{
return m_text;
}
set
{
m_text = value;
}
}
|
|
private string m_text;
public object Tag
{
get
{
return m_tag;
}
set
{
m_tag = value;
}
}
|
|
private object m_tag = null;
public int Height
{
get
{
return m_height;
}
set
{
m_height = value;
}
}
private int m_height = 0;
public int Width
{
get
{
return m_width;
}
set
{
m_width = value;
}
}
private int m_width = 0;
public float CalculateArea()
{
if((m_width<0)||(m_height<0))
return 0;
return m_height*m_width;
}
}
|
|
Ora il suddetto codice ha generato il nodo del codice categoria di corrente alternata # che eredita dall'interfaccia del c# di INode ed effettua tutti i relativi membri. Un punto molto importante da ricordarsi di circa le interfacce del c# è, se una certa interfaccia è ereditata, il programma deve effettuare tutti i relativi membri dichiarati. Altrimenti il compilatore del c# getta un errore.
|
Il suddetto codice era un esempio semplice di uso dell'interfaccia del c#. Ora questo deve essere seguito con alcuni particolari avanzati della costruzione dell'interfaccia in C#. Rete. L'esempio precedente ha usato soltanto i nomi dei metodi o le proprietà che hanno gli stessi nomi di nell'interfaccia. Ma ci è un altro metodo alternativo per la scrittura dell'esecuzione per i membri nel codice categoria. Usa il metodo o il nome proprietà completo.
|
Eredità multipla usando le interfacce di C#:
|
La caratteristica seguente che deve ovviamente essere spiegata è eredità multipla usando le interfacce del c#. Ciò può essere fatta usando il codice categoria del bambino che eredita da tutto il numero di interfacce del c#. L'eredità può anche accadere con una combinazione di corrente alternata #. Interfacce nette del c# e del codice categoria. Ora lasciarli vedono una piccola parte del codice che li dimostrano eredità multipla usando soltanto le interfacce come tipi di dati del genitore
|
class ClonableNode : INode,ICloneable
{
public object Clone()
{
return null;
}
// INode members
}
|
|
Il suddetto esempio ha generato un codice categoria ClonableNode. Effettua tutta la funzionalità dell'interfaccia di INode come è stato fatto nel codice categoria di nodo. Inoltre realizza il metodo del clone soltanto un articolo dell'interfaccia di IClonable della biblioteca di .NET.
|
è l'operatore per C#. Interfacce nette -
|
Infine un nuovo operatore di C# che può essere usato per definire che il codice categoria dovrebbe essere spiegato. È “è “operatore. Guardare la seguente parte del codice:
|
if(nodeC is INode)
Console.WriteLine("nodeC is object of INode type");
else
Console.WriteLine("nodeC isn't object of INode type");
|
|
Nel nodeC di esempio l'oggetto è stato generato come tipo di ClonableNode, ma quando facciamo funzionare il programma “se l'operatore„ restituisce allineare. Significa che il nodeC inoltre è del tipo di INode.
|
Keywords c# Interfaces, vb net interfaces, c# vb net, windows forms c#, visual studio net c#,
c# source code, c# net framework, c# sample code, c# web service, c# asp net,
visual studio c#, net compact framework c#, visual basic c#, c# dot net, microsoft net c#,
interfaces c#, c# compact framework, interfaces in c#
|