我们定义接口如下:

interface IMyInterface
{
    void MethodToImplement();
}


隐含如下:

class InterfaceImplementer : IMyInterface
{
    static void Main()
    {
        InterfaceImplementer iImp = new InterfaceImplementer();
        iImp.MethodToImplement();
    }

    public void MethodToImplement()
    {
        Console.WriteLine("MethodToImplement() called.");
    }
}


而不是创建接口,为什么我们可以像下面这样直接使用该功能:-)

class InterfaceImplementer
{
    static void Main()
    {
        InterfaceImplementer iImp = new InterfaceImplementer();
        iImp.MethodToImplement();
    }

    public void MethodToImplement()
    {
        Console.WriteLine("MethodToImplement() called.");
    }
}


有什么想法吗?

最佳答案

您没有在下面的示例中实现接口,只是在创建InterfaceImplementer的对象

编辑:在此示例中,不需要接口。但是,当您尝试编写不需要依赖具体对象的松耦合代码时,它们非常有用。它们还用于定义合同,其中实施合同的任何人还必须实施其定义的每个方法。

那里有很多信息,这里只是一个简短的介绍http://www.csharp-station.com/Tutorials/Lesson13.aspx

如果您真的想了解有关接口以及它们如何帮助编写好的代码的更多信息,我将推荐Head First Design Patterns一书。 Amazon Link

09-17 19:50