C#中的接口如何使用以及具体用途?
1、我们先从字面意思来理解一下什么是接口!
大家现在手机上,可能有很多app软件,比如天气预报的软件,有很多种,什么墨迹天气啊之类的等等.但是那么多天气预报软件,它们的数据是从哪里来的?其实都是从气象台来的.但是气象台只有一家,所以,给它们留了一个接口,它们就可以调用,实现自己想要的功能.

2、再举个例子,比如支付宝钱包或者其他工商银行,建设银行等.现在很多网站都支持在线支付.这些金融支付公司也是留下了接口,只要你申请通过,就可以接入进去.你自己开发的网站或者软件就可以拥有了客户支付功能.
甚至在我们的计算机编程中,我们调用的很多函数其实抽象的说是接口.像我们经常听到 API函数.
API其实就是Application Programming Interface的缩写,翻译过来就是应用程序接口!


1、那么我们现在打开Visual Studio中,新建一个C#控制台程序,用最简单的代码,我们来学习理解一下接口. 为了让每个人都可以快速理解,我的接口名就使用中文来命名.

2、第一步,先和我一样,写一个接口.
接口的名字叫做:接口_动物叫,这个动物有个"叫"的方法(能力)!
//如果你的VS是低版本,可能不支持中文,那么你就用英文或者拼音先代替.
//我的VS是2013版本
public interface 接口_动物叫
{
void 叫();
}

3、我们继续在下面写一个类.
类的名字叫做狗.狗继承了我们前面写的那个接口,并且在类中实现了"叫"的方法.
public class 狗 : 接口_动物叫
{
public void 叫()
{
Console.WriteLine("汪!汪汪!!");
}
}

4、我们在Main函数中,创建一只名叫旺财的狗,让它润润嗓子,吼两声.
如果你步骤和我一样,不出意外的话,你的屏幕上就会看到和我一样的效果.
狗 旺财 = new 狗();
旺财.叫();
Console.ReadKey();

5、那么问题来了??既然你开始研究学习接口了,那么在这之前你一定了解过面向对象的基本语法.
我为什么要使用接口?
我可以直接在狗这个类里面写一个"叫"的方法就OK了.干嘛要绕一圈需要先继承接口才写了?这不是脱裤子放屁,多此一举吗?
比如我把代码稍微修改了一下,用以下的方法实现不是更加简单吗?

6、那么我们再来看一段代码!!!
我们根据前面的接口,又写了一个猫的类,并且在猫中也实现了叫这个方法.
public class 猫 : 接口_动物叫
{
public void 叫()
{
Console.WriteLine("喵!喵喵!!");
}
}

7、把Main函数中的代码,修改成如下:
狗 旺财 = new 狗();
猫 豆豆 = new 猫();
旺财.叫();
豆豆.叫();
Console.ReadKey();

8、猫猫和狗狗都开始叫了.
我们都知道,如果继承接口之后,必须在自己的类里面实现接口中的方法.
按照我们前面的方式直接不继承接口,在类中实现也是可以的.
但是如果我们从设计角度来看,C#和JAVA是为了应付软件危机,开发大型软件项目的团体编程.
一个项目中,如果有N个动物类要编写,这种类很复杂,工程量比较大.
每个类都分配一个程序员去完成.

9、A程序员开发动物驴.
B程序员开发动物狗.
C程序员开发动物猪.
D程序员开发动物凤凰.
~~~~~~~~~~~~~
省略5000种动物.
他们各自写的类,没有什么联系.
可是这些动物都需要一个"叫"或者其他更多的方法.
如果统一,让它们从一个接口继承,方便管理统一,方便调用.
如果不使用接口,虽然可以达到目的.
但是没有约束,将来软件很容易形成Bug或者漏掉这些方法.
所以,我们这么一琢磨就明白了,就明白了C#中的接口在什么时候用比较合适.
协定 ,降低耦合。
将来大家参与一些团队开发项目中,可能才会深切的体会到接口带来的方便.
而往往我们学习的时候,都是一个人写代码,对接口的体会并没有那么强烈.