est conçu de la manière d'un programmeur.
Si vous n'êtes pas un programmeur, vous allez avoir un peu de mal à comprendre les interfaces. Sans une assez bonne compréhension des principes fondamentaux orientés objet, cela peut sembler un peu confus. Mais partir:
Les interfaces sont similaires à des classes, mais au lieu de vous dire ce qu'un objet est il vous dit ce qu'il fait . Par exemple, une interface très commune est IEnumerable
. Lorsqu'une classe implémente cette interface, cela signifie que l'objet peut créer et renvoyer un Enumerator
, qui peut être utilisé par une autre partie du code (généralement une boucle foreach
ou une requête LINQ
). Un autre que vous pourriez voir beaucoup est IDisposable
. Cela signifie que vous appelez appel .Dispose()
sur l'objet et il va nettoyer les ressources. Il ne dit rien sur les ressources qu'il va nettoyer ou ce que l'objet est - il pourrait être un StreamReader
ou un SqlConnection
ou quelque chose. Tout ce qu'il dit est qu'il a une méthode appelée Dispose
.
Les interfaces sont des concepts très utiles. Si vous avez beaucoup de classes qui sont très différentes mais partagent un certain comportement commun, vous pouvez les faire toutes implémenter une seule interface et ensuite les utiliser comme une seule. Par exemple, si vous aviez une interface:
interface ICanPrintMyContents
{
void PrintContents();
}
Puis un tas de classes qui les mettent en œuvre:
class ParkingGarage : ICanPrintMyContents { ... }
class UnimpressivePolitician : ICanPrintMyContents { ... }
class BankingSimulation : ICanPrintMyContents { ... }
Vous pouvez les mettre tous dans une liste ensemble, même si il n'y a pas de relation réelle entre leur Des classes.
List<ICanPrintMyContents> list = { theGarage, insertNameHere, sim1, anotherGarage };
foreach(ICanPrintMyContents item in list)
list.PrintContents();
(Note: que ICan...
convention de nommage est pas largement utilisé, et je ne le conseille pas Beaucoup de gens ne l'aiment pas, mais je l'utilise ici parce qu'il transmet le sens de l'interface. plus commun serait IPrintableContents
ou quelque chose)
"Formulé d'une manière qu'un programmeur pourrait comprendre ..." Que demander de plus? –
Je suis très novice en programmation. Je cherche un moyen de comprendre cela. – user770022