接口可是OO里最核心的东西。
可以用生活中的例子说明:
一个生产主板的工厂里面,产品就是接口。----老板说了,我要做一块板子,要具有XXX功能。
(K,他才不管你工人如何完成。"给我干,我只要产品".工人就是就是类,每个具体的工人是干活的对象。
例如,板子的要求中有一项:不能摔坏。呵呵,有人来应聘了。说,“我力气大,小时候就经常开始摔盘子”。---呵呵,这个哥们就是干活的。老板说,OK于是这个老兄在这个工厂摔了20年的板子。突然,有一天有新类型的板子来了。K,美国军用---去打伊拉克。
要求力气特大。于是,去招聘成龙。可是,工资太少了。
成龙不干。为了降低成本,去日本买了一个机器人。我们看到,当板子要出厂的时候,QA说,给我摔它个狗日的。(呵呵,偷偷骂老板不给加工资)摔了20年的老哥,动作熟练。 但是,力气很小。
机器人,动作很笨,但是力气大的惊人。
接口是什么??就是“给我摔板子”,不管你如何摔。

解决方案 »

  1.   

    接口很多时候就是规范(Contract)
      

  2.   

    http://expert.csdn.net/Expert/topic/1793/1793009.xml?temp=.6853907
      

  3.   

    我只须知道一个类使用的是什么接口便知道了它里面包含了什么样的函数;方法等而不需要去阅读那个类了   
     
     这样理解是不对的,你如果继承了一个接口,你就要实现他的所有特性,但是你也可以添加自己的其他方法。       继承了一个接口,只是对外宣布,我实现了接口的功能,同时,你也可以同时继承
    其他的接口,也就是说我对外宣布,我又实现了一个功能,那么我也可以在其中实现自己的
    类的、特有的功能。
         举个例子,我开了个石化公司,可是同时我想有医院的功能,还有学校的功能
    那么,你可以再建立自己的石化公司这个类的同时继承Ihospital和Ischool两个接口,不过
    你也要做出石化公司它有的方法和属性呀!
      

  4.   

    你要继承一个接口,你就应该知道,你为什么继承他,
    你要设计一个接口,你就应该知道你为什么设计它,
    另外,他在远程调用中也是很有用的,建议你在看看remoting再建议在类视图中建立一个继承接口的类,然后再类视图中再用"添加"方法"重写"一个类成员
      

  5.   

    举个例子说明接口的用途之一:现在开发一个网络应用程序,其中包含一个客户端和一个服务器端,客户端只是界面,所有实现都在服务器端实现。如要实现一个更改用户姓名的功能。在客户端调用CommonClass.UpdateUserName(string userNo)这样一个函数。那么这个函数在服务器端和客户端都要有一个定义,如果将服务器端的定义类全部拷贝到客户端,显然就太不安全了,因为服务器端的实现细节都被下载到客户端了。怎么办呢?用接口。
    interface CommonClass
    {
       bool UpdateUserName(string userNo);
    }
    将这个接口编译成一个独立的DLL文件,然后在客户端和服务器端都进行引用,就OK了。
    当然这只是接口功能的一种具体表现,这个例子深研一下,可以悟出接口的有用之处。不知道你是否用过COM或CORBA之类的分布式解决方案,在这些方案之中,就必须用专门的IDL语言写一个类似于接口类的文件,这个IDL文件与接口有类似之处。
      

  6.   

    我明白了 
    总结一下吧 接口是一种契约;但如何达到这个契约需要在类中指明。
    符合这个契约的类有它所有的成员(不是只有)不关于接口的详细详细情况还得查资料  但是我看见一段代码 不知道它的含义具体如下:ICollection  CreateSource  (){
    ·······
    Return  ds.table[0].DeFaultView;
    }我自己理解是:这是一个函数   返回类型是ICollection  
    而ICollection 里到底包含些什么呢?