我是C#接口的新手.那么有人可以解释当我们创建一个接口对象时实际发生了什么吗?
我知道为什么我们在其他语言中有接口但却无法真正掌握为什么C#允许创建接口的对象(实例)的逻辑?如果接口没有函数定义或变量,那么如何创建对象?
我一直在论坛上搜索,但无法明白这一点.这是我在接口http://www.c-sharpcorner.com/uploadfile/6897bc/interfaces-in-C-Sharp/上找到的教程, 如果你访问链接,你可以看到第一个作者创建一个类的对象和而不是接触的对象.当他写作
Interface_object = class_object;
Run Code Online (Sandbox Code Playgroud)
接口对象从类对象中提取特征...
如果接口中没有实现和变量,它是如何以及为什么会发生的?
hor*_*rgh 11
实际上,您无法创建接口的实例.
您可以创建某个类的实例,从而实现该接口.实际上可以有几十个类,实现一个接口.因此,当您使用接口类型的变量时,唯一可以保证的是,实际由变量引用的对象实现了接口,您可以使用任何接口方法,属性等.
interface IFoo
{
void DoFoo();
}
class Foo1: IFoo
{
public DoFoo()
{
//one implementation
}
}
class Foo2: IFoo
{
public DoFoo()
{
//the other implementation
}
}
IFoo tmp = new Foo1();
tmp = new Foo2();
Run Code Online (Sandbox Code Playgroud)