首页 新闻 会员 周边 捐助

接口的示例执行本身的方法有什么作用?

0
悬赏园豆:50 [已解决问题] 解决于 2012-10-29 10:33
代码如下(C#):
internal interface IMyInterface
{
        void MyMethod(int myInt1,int MyInt2);

}

public class MyClass
{
        IMyInterface myInterFace ;
        private void Method()
        {
                myInterFace.MyMethod(int1,int2);//这句不懂

        }

}

在接口的定义中明明没有提供方法的实现,为什么在实例中又可以直接使用呢?分不多,谢谢各位答疑解惑!

roof的主页 roof | 初学一级 | 园豆:146
提问于:2012-10-29 10:12
< >
分享
最佳答案
1

你这应该只是部分的代码:

如果详细应该是这样的。

//是一种会叫的约定
interface IBarkable{
  void Bark();  
}
//相当于小狗这种动物对外界承诺说遵从这种约定
class Dog:IBarkable{
    public void Bark(){
      //dog bark  
    }
}
class TestClass{
  IBarkable tmpBark;
//或者其他方法去初始化这个对象, 然后这个构造方法可以接受Dog等实现了IBarkable接口的类的实例  
public TestClass(IBarkable para){
    tmpBark=para;
    }

   
    void TestMethod(){
       if(null!=tmpBark) tmpBark.Bark();
    }
               
}    
收获园豆:50
Ethan轻叹 | 小虾三级 |园豆:996 | 2012-10-29 10:25

您说的最清楚,就选您的为最佳了,呵呵!

roof | 园豆:146 (初学一级) | 2012-10-29 10:31

@roof: 下次别用敬语了,一起学习

Ethan轻叹 | 园豆:996 (小虾三级) | 2012-10-29 20:48

@Ethan轻叹: 我回去看了一下,可是这整个例子就没有哪个类继承了这个接口啊,是直接声明这个接口实例,再调用该接口的方法...

我的目的是想修改实现该方法的代码,可惜总是没找到,是不是我的方法有问题?

roof | 园豆:146 (初学一级) | 2012-10-30 13:50
其他回答(3)
0

主要是统一对外的方法名一致

jason2013 | 园豆:1998 (小虾三级) | 2012-10-29 10:15

不明白,我的意思的是为什么要声明一个接口的实例,然后又要执行本身的方法

支持(0) 反对(0) roof | 园豆:146 (初学一级) | 2012-10-29 10:17
0

没有提供方法的实现和调用没关系,只能说明是一个没有任何意义的调用

田林九村 | 园豆:2367 (老鸟四级) | 2012-10-29 10:17
0

一定要提供一个实现类才可以实例化的,不可能new一个接口的.也就是说你一个要有一个实现类才可以用.

关于接口可以说的太多了.买C#本书看看吧.

zhangweiwen | 园豆:904 (小虾三级) | 2012-10-29 10:18

谢谢,你的回答让我有点启发

支持(0) 反对(0) roof | 园豆:146 (初学一级) | 2012-10-29 10:21
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册