在VS.Net的帮助里面我发现对接口的说明:接口概述:
和类一样,接口也定义了一系列属性、方法和事件。但与类不同的是,接口并不提供实现。它们由类来实现,并从类中被定义为单独的实体。接口表示一种约定,实现接口的类必须严格按其定义来实现接口的每个方面。有了接口,就可以将功能定义为一些紧密相关成员的小组。可以在不危害现有代码的情况下,开发接口的增强型实现,从而使兼容性问题最小化。也可以在任何时候通过开发附加接口和实现来添加新的功能。虽然接口实现可以进化,但接口本身一旦被发布就不能再更改。对已发布的接口进行更改会破坏现有的代码。若把接口视为约定,很明显约定双方都各有其承担的义务。接口的发布者同意不再更改该接口,接口的实现者则同意严格按设计来实现接口。Visual Basic .NET 以前的 Visual Basic 版本可以使用接口,但不能直接创建它们。Visual Basic .NET 允许用 Interface 语句定义真正的接口,并允许用改进版本的 Implements 关键字来实现这些接口。接口定义:
接口定义包含在 Interface 语句和 End Interface 语句之间。在 Interface 语句后面,可以选择性地添加一个 Inherits 语句,由它列举一个或多个继承接口。在声明中,Inherits 语句必须出现在除注释外的所有其他语句之前。接口定义中的语句还有 Event 语句、Sub 语句、Function 语句 和 Property 语句。接口不能包含任何实现代码或与实现代码相关的语句,如 End Sub 或 End Property。默认的接口语句是公共的,也可以将它们显式声明为 Public、Friend、Protected 或 Private。注意 接口定义中所声明的 Sub 语句、Function 语句或 Property 语句的有效修饰符只有 Overloads 和 Default 关键字。其他的修饰符(如 Public、Private、Friend、Protected、Shared、Static、Overrides、MustOverride 或 Overridable)都不允许存在。何时使用接口:
接口是一种非常有效的编程工具,因为它们让您能够将对象的定义与实现分离,从而可以在不破坏现有应用程序的情况下使对象得以发展完善。接口继承和类继承各有其优缺点,可以在项目中将二者结合使用。本主题和何时使用继承将帮助您根据情况确定最佳的途径。安全更改代码
接口消除了类继承的一个大问题,即在对设计实施后再对其进行更改时很可能对代码产生破坏。即使类继承允许类从基类继承实现,在类首次发布时仍然会使您不得不为设计做很多的决择。如果原有的设想不正确,并非总可以在以后的版本中对代码进行安全的更改。例如,假设您定义了一个基类的方法,它需要一个 Integer 参数,而后来又确定该参数应该为 Long 数据类型。您无法安全更改原始类,因为为从原始类派生的类所设计的应用程序可能无法进行正确编译。这一问题会扩大化,因为单个基类会影响几百个子类。有一种解决方案是定义一个新方法,该方法重载原始类并且采用一个 Long 类型的参数。可是,这样不一定能达到满意的效果,因为一个派生类可能需要对采用整数的方法进行重写,如果取 Long 数据类型的方法不也被重写,该派生类可能无法正常运行。接口解决了这一问题,办法是让您能够发布接受新数据类型的已更新接口。实现的灵活性
以下是为何使用接口继承而不用类继承的一些其他原因: 在应用程序要求很多可能不相关的对象类型以提供某种功能的情况下,这些接口适用性更强。 
接口比基类更灵活,因为可以定义单个实现来实现多个接口。 
在无需从基类继承实现的情况下,接口更好。 
在无法使用类继承的情况下接口是很有用的。例如,结构无法从类继承,但它们可以实现接口。 

解决方案 »

  1.   

    正要学习.net开发接口方面的程序,关注!
      

  2.   

    interface 的士证
    {
        void 开车();
    }
    interface 货车证
    {
        void 开车();
    }class 常规的士司机:的士证
    {
        void 开车(){}
    }void 招聘货车司机(货车证);问题:
    的士司机有开车这个方法,为什么它不能被招聘货车司机调用呢????
    接口就是一个约定.一个系列操作的约定。
    而接口的名称,是约定的名称
    在上面的例子里,同样是 开车 这个方法.
    但是却有
    的士证.开车 和 货车证.开车 这两个不同的方法。所以,只有实现了 货车证.开车 这个方法的类,才能被 招聘货车司机 所调用。