 |
 |
Interfaces
|
Une interface est un type de référence et elle contient seulement les membres abstraits. Les membres de l'interface peuvent être des événements, des méthodes, des propriétés et des sélecteurs. Mais l'interface contient seulement la déclaration pour ses membres. N'importe quelle exécution doit être placée dans la classe qui les réalise. L'interface ne peut pas contenir des constantes, des zones d'information, des constructeurs, des destructeurs et des membres statiques. Toutes déclarations de membre à l'intérieur d'interface sont implicitement public.
|
Définir une interface :
Regardons un exemple simple pour des interfaces de c#. Dans cet exemple l'interface déclare la fonctionnalité basse de l'objet de noeud.
|
interface INode
{
string Text
{
get;
set;
}
object Tag
{
get;
set;
}
int Height
{
get;
set;
}
int Width
{
get;
set;
}
float CalculateArea();
}
|
|
L'interface ci-dessus de noeud d'index a déclaré quelques propriétés abstraites et fonction qui devraient être mises en application par les classes dérivées.
|
Échantillon pour dériver une classe en utilisant C.A. #. Interface nette
|
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;
}
}
|
|
Maintenant le code ci-dessus a créé le noeud de classe de C.A. # qui hérite de l'interface de c# de noeud d'index et met en application tous ses membres. Un point très important à rappeler au sujet des interfaces de c# est, si une certaine interface est héritée, le programme doit mettre en application tous ses membres avoués. Autrement le compilateur de c# jette une erreur.
|
Le code ci-dessus était un exemple simple d'utilisation d'interface de c#. Maintenant ceci doit être suivi avec quelques détails avançés du bâtiment d'interface dans C#. Filet. L'exemple précédent a employé seulement des noms des méthodes ou les propriétés qui ont les mêmes noms que dans l'interface. Mais il y a une autre méthode alternative pour écrire l'exécution pour les membres dans la classe. Elle emploie la pleine méthode ou nom de propriété.
|
Transmission multiple en utilisant des interfaces de C# :
|
Le prochain dispositif qui doit évidemment être expliqué est transmission multiple en utilisant des interfaces de c#. Ceci peut être fait en utilisant la classe d'enfant qui hérite de tout nombre d'interfaces de c#. La transmission peut également se produire avec une combinaison de C.A. #. Interfaces nettes de classe et de c#. Nous laisser maintenant voient un petit morceau de code qui nous démontrent transmission multiple en utilisant seulement des interfaces en tant que types de données de parent
|
class ClonableNode : INode,ICloneable
{
public object Clone()
{
return null;
}
// INode members
}
|
|
L'exemple ci-dessus a créé une classe ClonableNode. Il met en application toute fonctionnalité d'interface de noeud d'index comme il a été fait dans la classe de noeud. En outre il réalise la méthode de clone seulement un article d'interface d'IClonable de bibliothèque de .NET.
|
est l'opérateur pour C#. Interfaces nettes -
|
Enfin un nouvel opérateur de C# qui peut être employé pour définir que la classe devrait être expliquée. Elle est « est « opérateur. Regarder le morceau suivant de code :
|
if(nodeC is INode)
Console.WriteLine("nodeC is object of INode type");
else
Console.WriteLine("nodeC isn't object of INode type");
|
|
Dans le nodeC d'exemple l'objet a été créé comme type de ClonableNode, mais quand nous exécutons le programme « si l'opérateur » renvoie vrai. Il signifie que le nodeC est également de type de noeud d'index.
|
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#
|