返回首页

/// Interface demo

Interface Iinterface1

{

// Function prototype

public void ShowDetails();

}

 

// First class using the interface

Class MyClass1 : Iinterface1

{

public void ShowDetails()

{

// Function body comes here

Response.Write("I'm in MyClass");

}

}

 

// Second class using the interface

Class MyClass2 : Iinterface1

{

public void ShowDetails()

{

// Function body comes here

Response.Write("I'm in MyClass2");

Response.Write("So, what?");

}

}
上面的例子解释了接口。但最重要的,可以通过直接创建在MyClass2方法。我认为它造成混乱。每个面试官询问有关接口。

那么,为什么我们使用的界面?
任何一个可以提供很好的例子吗?

回答

评论会员:OriginalGriff 时间:2012/02/06
接口,基本上是提供一些在C#中多重继承的一种方式

因为你只能从一个基类(或事情开始变得非常混乱)派生一个类,它是困难的,没有它提供额外的功能。一个基类描述一类是什么 - 接口描述一个类可以做什么

他们提供了一个合同:"如果你实施所需的位,你可以为我们处理"。例如,如果您的学生类来源于人,并实现了IEnumerable,那么它的人民的所有功能,但它也可以在foreach循环中使用。

类实现相同的接口,他们呼吁所有被用来以同样的方式,并通过相同的方法集,否则,尽管是不相关的类
评论会员:曼弗雷德・R.Bihy 时间:2012/02/06
接口松开,而不是具体类]实际执行情况将不会有一个使用它的类的效果。针对接口编程,只在某个地方使用的东西,我们肯定会暴露的预期功能。
边注:正确的功能是不能确定的,但方法签名必须符合

一类耦合是一个所谓的代码度量,可以用{A}]分析。

您可能还会发现这篇文章有用:{A2的}

如果你仍然有问题,经过所有环节犁地随意发表评论。

干杯!

mdash;如MRB
评论会员:曼弗雷德河Bihy 时间:2012/02/06
查看这个太

{A3的}]
评论会员:游客 时间:2012/02/06
thatraja:除了其他的答案,我想解释通常被忽略的一件事接口可以实现值类型?是的,通过结构。这是一个非常重要的事实。它允许更灵活的形式多态性({A4纸}]),其中多形性容器操作使抽象的对象(由一些接口(S)表示),所以容器仍不可知甚至实现类型的性质的知识,他们班或不此外,看格里夫和我的评论的答复。代表是接口类型,可以参加一个以上的多形性,需要不同的接口类型,由于多重继承的弱形式的关系。mdash;水杨酸
SAKryukov:曼弗雷德提到使用界面的设计理念,提供松散耦合,基于组件的编程,便于维修,使您的代码基地更具可扩展性,使代码重用更容易得多,因为实现从接口分离。

接口添加一个插件,玩到你的应用程序和建筑等。接口帮助确定您的应用程序和其他物体之间的合同(协议或蓝图,但是您选择定义)。这说明什么样的方法,对象公开的属性和事件。因此,我们可以说是接口定义的一些功能上的签名的合同。

希望它可以帮助{S0}
评论会员:游客 时间:2012/02/06
乌代・辛格:您可以创建一个像这样的对象:MyClass1的OBJ=新MyClass1的()然后调用Iinterface1的ShowDetails方法是这样的:(Iinterface1)obj.ShowDetails();
tgcoy:一个有趣的简单的例子,请参见我过去的解决方案,这种技术形式的合作和有趣的讨论:

{A5的}
{A6的}

mdash;水杨酸
评论会员:SAKryukov 时间:2012/02/06
实现一个接口允许一个类来提供,他们也形成了一个类和外界之间的合同,这份合同是由编译器在编译时执行它的承诺有关的行为变得更加正式。如果你的类要求,以实现一个接口,该接口定义的所有方法都必须出现在它的源代码,在上课前将成功编译
评论会员:purnanandabehera 时间:2012/02/06