我对c#中的接口理解不是很深刻,希望哪为大侠讲解一下!!!!!!!!!!

解决方案 »

  1.   

    不光是 C# 的,所有 OOP 的语言的接口含义都一样。多看 MSDN ~
      

  2.   

    接口定义一种规则,比如一个外科医生,他就可以发布一个接口,
    interface Ipatient
    {
        void MustBeHuman();
        void SomeOther();
    }
    接口要求必须是人类并满足其他一些特征。这样大树就不能找外科医生了~~  :)
    面向接口可以使代码的扩展性好很多~
      

  3.   

    我来说一下关于接口的一些个人看法接口的本质是一个规则,具体工作的是实现接口的类。
    明显的好处在于,使用者站在接口的立场上而不关心实现接口的具体的类举例如下:我的一个俄罗斯方块接口如下:(iblock)
    提供四个点的坐标,提供一系列方法如:绘制本身、擦除本身、能否移动(参数,方向)
    能否旋转(参数,状态),移动(参数,方向),旋转(参数,状态).....
    然后我写了一个类来实现这个接口,这个类是一个长条。(blockOne)
    当然,还可以再写其他的类来实现这个接口,比如说一个“田”字(blockTwo)在主程序调用的时候我就不关心到底是一个长条还是一个田字,因为我知道他们都是iblock的一个实现。iblock o;o = Block.GetBlocks()//这个方法是一个随机产生方块的方法,具体产生的是一长条,还是一个方块,我不关心,我关心的是,他归根到底实现了iblock接口
    这样,我就可以调用iblock的方法了if(o.CanMove(right))
       o.Move(right)
    大家可以发现,如果要扩充一个古怪的方块,那也一样可以继承这个接口,所需要修改的方法仅仅是Block.GetBlocks()这个随机产生方块的方法。主程序是不用任何修改的。
      

  4.   

    和java中的接口概念是一模一样的