C#接口是什么意思,注,新手

解决方案 »

  1.   

    http://msdn.microsoft.com/zh-cn/library/87d83y5b(VS.80).aspx
      

  2.   

    顶楼上说的很生动,抽像是can do 接口是is a 陈广的概述!~
      

  3.   


    报谦!笔误顶楼上说的很生动,接口是can do 抽像是is a 陈广的概述!~
      

  4.   

    接着上面人类的例子说,抽象类和借口他们之间有啥区别,有些人说2个不一样么,只不过抽象类中能实现一些成员方法罢了,那么是否在设计的时候抽象类和借口有冲突呢??大家可以去看看《大话设计模式》
    恩,上面的例子还不能说明什么,那接着说。抽象,顾名思义就是对一个东西的描述,就像liuh6说的接口是can do 抽像是is a 陈广的概述!~  你要问了,凭什么?先来了解下抽象类和借口他们定义上的区别,抽象类可以给出一些成员的实现,而接口却不可以,必须要子类去完全实现,这里都懂是不?从这一点我们可以看出,就像前面举的例子,人类都有一些共性的,眼睛嘴巴眉毛,人的体态,就像在描述人类一样,一些共性的东西完全可以直接实现它,然后子类去继承后就说明这个子类有人类的特征了,然后具体这个子类是本拉登还是布什就要你在子类中具体实现了。所以我们要用抽象类去封装这个人类基类。
      

  5.   

    USB  是什么意思嘛?
    规范,
      

  6.   

    那么接口呢?can do(行为),为什么不能在接口中实现一些成员,非要到子类中去完全的实现???刚刚说什么来着,人类都有一些共性的,只要子类中发现有完全相同的东西那么我们就可以把这些东西直接放到人类基类中,也就是说抽象类里的成员实现都是不断从子类中发现共同的方法属性重构出来了。那么好了,接口中不能实现成员也就意味着没有相同点,或者说接口更像是一种特殊的行为,超人是人不?是,符合人类特征,那么就可以继承人类基类,但超人会飞,那么就可以用接口定义,那么这个普通人也就有了特殊的能力:飞,也就成了超人。
      

  7.   

    什么是接口?其实,接口简单理解就是一种约定,使得实现接口的类或结构在形式上保持一致。个人觉得,使用接口可以使程序更加清晰和条理化,这就是接口的好处,但并不是所有的编程语言都支持接口,C#是支持接口的。注意,虽然在概念上,C#接口类似于COM接口,但他们的底层结构是不同的
      

  8.   

    我是学JAVA的,个人觉得接口就是我们学生用的学生证,他只是对人说我是学生证,使用的人只要知道它在什么地方能用就行了。
      

  9.   

    http://
      

  10.   

    http://topic.csdn.net/u/20091023/10/cbb4b6b8-fd57-4632-938f-6dbbc076909e.html
      

  11.   

    只定义方法不实现的东东,然后你以后就可以定义类去继承这个接口,然后在类中去实现其方法,例如你把人定义为一个接口,那么有个方法work(),那么工人实现该方法是炼铁,教师实现该方法是教书,这样就可以定义不同的类。
      

  12.   

    chopper7278
     
    (快乐乔巴) 是个好同志,比只抛出一个连接,尤其是直接贴msdn的(这还用你帖?不如直接告诉他接口就是interface算了),还有全是代码而且很大例子的那种要强的多,何为新手?人家就是那边看了没看懂才来问的,又给抛回去了有什么意义,用自己的理解生动的给新同志答疑解惑一番,对自己也是个巩固有什么不好,这才是这个论坛开设的意义,换句话说,如果看不起那问题,懒得给他废话,没有诚意认真答复,就不要回帖,楼主应该把分全给chopper7278(快乐乔巴) 
      

  13.   

    接口 定义一组契约。继承它的类必须实现接口的方法。继承接口的类和接口是  Can Do  的关系。抽象类还是类,里面有抽象方法。 继承它的类,必须重写(override)抽象类的抽象方法。 抽象类和继承它的类之间是 IS A  的 关系。接口是能做什么抽象类是继承关系(继承它的类 覆盖 抽象类的抽象方法)多态的时候,要考虑用接口还是抽象类。
      

  14.   

    接口 就相当于制定了一份合同,继承它的类必须遵守。抽象类说到底,还是IS A 继承关系。接口一旦制定了,将来更改接口,继承它的类,就必须更改。抽象类就灵活一些,可以加个方法不影响继承它的类。
      

  15.   

    你找女朋友,目标肯定是实现了 IGirl 这个接口的对象,否则IGril 定义如下:interface IGirl
    {
    bool 漂亮;
    bool 体贴;
    bool 做饭好吃;
    bool 会织毛衣;
    }作为接口的使用方,你可以写下 FindAGirlFriend 函数如下:
    // 十有八九返回null
    IGirl FindAGirlFriend(IList<IGirl> girls)
    {
    foreach(IGirl g in girls)
    {
    if (g.漂亮 && g.体贴 && g.做饭好吃 && g.会织毛衣)
    {
    return g;
    }
    }
    return null;
    }与此同时,IGirl 的实现方正在紧锣密鼓的实现它,有个人写了一个 LazyGirl 类,另一个人写了一个 UglyGirl 类,还有一个人写了一个 StupidGirl。接口的一个好处是,你不用等这些类写好以后再写 FindAGirlFriend 函数。使用方和实现方可以同时工作。
      

  16.   

    就是用于规范子类的  一个类继承一个借口 必须实现里面的所有方法。
    接口是一个特殊的类 是最抽象的 里面可以有属性方法索引器,成员不需要访问修饰符  默认为public 
      

  17.   

    我现在正在写很多同硬件打交道的系统,要供应商给的接口就是硬件供应商提供的.dll文件,引用.dll文件后,就可用它里面的方法,从而实现对硬件的调用
      

  18.   

    扩展类继承的公共约定的一种形式!
    那定义偶可不知道如果问定义还是去BAIDU吧
      

  19.   

    这么多生动的例子,真是过目不忘啊,以前背了为了面试不知道背了多少遍接口的定义。嘿嘿。我觉得CSDN就应该这样。很小的问题,其实藏着很大的道理
      

  20.   

    接口(C# 参考)   接口只包含只有方法,属性,索引器(有参属性),事件四种成员。方法的实现是在实现接口的类中完成的,如下面的示例所示:   interface ISampleInterface   {   void SampleMethod();   }   class ImplementationClass : ISampleInterface   {   // Explicit interface member implementation:   void ISampleInterface.SampleMethod()   {   // Method implementation.   }   static void Main()   {   // Declare an interface instance.   ISampleInterface obj = new ImplementationClass();   // Call the member.   obj.SampleMethod();   }   }   ---------------------------------------------------------------------------------------------------------   备注:   接口可以是命名空间或类的成员,并且可以包含下列成员的签名:   ·方法   ·属性   ·索引器
      

  21.   


    乔巴,你做coder浪费人才列~~~
      

  22.   

    (快乐乔巴)
    说的很生动、好理解
    Mark
      

  23.   

    usb接口知道不,原理就是那样
      

  24.   

    引用 2 楼 chopper7278 的回复:
    契约,规范
    就好比银行卡的银联,不管工商银行,农业银行都有银联的标志是吧,你如果拿了个没有银联的卡多不方便,这个银联就是接口,只要你继承它的借口实现银联这个功能,走到哪人家都认阿。
    接口还能多继承,就像人不是每一个人的能力都一样吧,比如咸蛋超人,和普通人有啥区别?会飞是不,普通人会吗?就像一个特殊能力,这时候你可以利用到接口了,普通人的类继承一个会飞的接口,并实现飞的方法,那么这个人就是咸蛋超……
      

  25.   

    http://msdn.microsoft.com/zh-cn/library/87d83y5b(VS.80).aspx