学习如何有效地使用接口

我一直在用C#开发软件,但是一个我没有用的有效的领域就是界面。 事实上,我经常会对他们可以使用的各种方式以及何时使用它们感到困惑。 例如,我知道方法可以返回接口,可以把它们作为参数,可以从它们派生出来。这个概念对我来说是一个明显的弱点

我想知道是否有人知道一个源代码/教程,深入和彻底地解释了接口的深度和他们可以使用的各种方式?

描述

C#中的接口提供了一种实现运行时多态的方法。 使用接口,我们可以通过相同的接口引用从不同的类调用函数,而使用虚拟函数,我们可以通过相同的引用在同一个inheritance层次中的不同类中调用函数。

例如:

public class FileLog : ILog { public void Log(string text) { // write text to a file } } public class DatabaseLog : ILog { public void Log(string text) { // write text to the database } } public interface ILog { void Log(string text); } public class SomeOtherClass { private ILog _logger; public SomeOtherClass(ILog logger) { // I don't know if logger is the FileLog or DatabaseLog // but I don't need to know either as long as its implementing ILog this._logger = logger; logger.Log("Hello World!"); } } 

你要求教程。

教程

  • MSDN – 接口(C#编程指南)
  • CodeGuru – C#中的接口
  • 基于C#接口的开发
  • Codeproject – C#中的接口(初学者)

接口通常用于强制实现类服从某个契约(意思是有某些方法)。 有时它们只是用作标记,即它们没有声明的方法,但是使一些代码生成器为实现的类生成特殊的代码。

话虽如此,接口本身并不是一个真正的“工具”,所以它们并没有达到特定的function目的,但是它们可以大大简化应用程序的devise,并被广泛用于面向对象的devise模式。 本教程的基本资源是: http : //www.csharp-station.com/Tutorial/CSharp/Lesson13