从概念上看,接口只是定义了一种规范。凡是继承该接口的类都必须实现接口中的方法。仅仅而已?
例如:public interface iterf1
{
    string a(string b);
  
}public class class1:interf1 //这里只要继承了inter1,如果不实现a的方法就报错
{
   public string a(string a) 
   {
       return a;
   }}在.cs文件中
class1 c1=new class1();
c1.a("111");
仅此而已嘛?????????另外一种用法
public class class1:interf1 //这里只要继承了inter1,如果不实现a的方法就报错
{
   public string a(string a) 
   {
       return a;
   }}public class class2:interf1 //这里只要继承了inter1,如果不实现a的方法就报错
{
   public string a(string a) 
   {
       return a;
   }}public class class3
{
   public a(interf1 if1)
   {      if1.a()
   }}在.cs文件中
class1 c1=new class1();
class2 c2=new class2();
class3 c3=new class3();c3.a(c1);
c3.a(c2);仅此而已,还有其他用途吗?

解决方案 »

  1.   

    你只站在编程的高度去看接口这种OO的概念是不会明白的...这也是没有实际工作经验的学生和没有经过较大项目正规开发过程的新手难以理解的原因...OO属于工程学的范畴,其中的概念都是在多年实际项目的总结中诞生的而不是空想出来的理论...当你能够明白ATM和银联是如何产生如何工作的或者现代军队为什么要装备通用枪族等现实中的场景时,你就会明白接口有什么用...
      

  2.   

       接口的使用,你如果只是编写这样的简单的程序是无法发现它的优越性的,举一个简单的例子就是一个类可以实现多个接口,这样类内的方法就变得丰富了。同时可以将接口理解为你家里的插座,你家的电可以是来自于太阳能发的电,也可以来自于热能发的电,但是必须满足也就是实现的电压为220V 如果你想更换你的用电的来源你只要更改插座(接口)后的电的来源就可以了,如果你不是用的插座这个接口,那么你就要更换你家 的线路。
       对于实现 IADO的FirstClass和SecondClass而言,当你的程序中式如下应用的
        IADO  dealer = new FistClass();
       dealer.Function1();
       dealer.Function2(); 
       如果这时你想用SecondClass中的相关的方法,那么只要该一句就可以了
        也就是
       IADO  dealer = new SecondClass();
       如果不是用接口,那好你的任务可多了,虽然应用类的继承 也可以实现类似接口的功能,但是接口的功能 更加的灵活
      

  3.   

    说的通俗点,大项目用的肯定好多了,小项目没几个人开发看不出来
    当一个项目几百上千和方法怎么搞,定义好后,前台做WEB的和后台搞数据的存储的可以分开同时进行,都按照这个规范定义就行了
      

  4.   

    根据webcast的说法,接口是方法的蓝图。蓝图这个概念你就应该很容易理解了吧
      

  5.   

    http://www.cnblogs.com/JimmyZhang/archive/2007/09/23/903360.html
    关于委托与事件去看看这个人写的文章。个人觉得写得蛮不错的。