首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于接口

关于接口
EN

Stack Overflow用户
提问于 2010-01-29 11:33:40
回答 5查看 299关注 0票数 0

可能重复: 界面:为什么我不能抓住它们呢?

C#中接口的用途是什么?

如何在c#,Java中启用可扩展的模块化设计?

就我在接口方面的经验而言,我们使用的是从不同对象获取列值的网格视图场景。

(例如:

代码语言:javascript
复制
List<IPub> list = new List<IPub>();
gridview.DataSource = list;
gridview.DataBind();

IPub有4个方法,由4个或5个不同的类实现。)除了以上情况外,与同班学生相比,他们有哪些有用的案例呢?

我听到Java创建者对接口不屑一顾,或者说“如果我有机会再次设计java,我永远不会把接口变成语言”。这也适用于C#吗?是什么意思让他这么说?我觉得自己从来没有完全理解过接口。请有人费心解释一下。

编辑:这里是小鹅的报价,请参阅

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-01-29 11:36:21

您应该看到答案在这里这里这里这里

接口提供了一种使用某些东西的方法,而不必担心如何实现该东西。

如果您有一个接口ITextGetter和您正在使用的方法GetText(string textKey),那么您不知道文本来自哪里,您所知道的就是当您使用特定的键请求文本时,您就得到了文本。如果您使用这个接口编写应用程序,那么您可以使用不同的类,这些类都实现了这个接口来获取文本,而不必更改应用程序。这样就可以轻松地从基于文件的文本切换到基于数据库的文本或基于webservice的文本获取,而无需更改任何使用该接口的代码。

票数 1
EN

Stack Overflow用户

发布于 2010-01-29 11:44:29

接口可以被认为是“可以做的”,而抽象/基类可以被认为是"is-a“。

所以狗是-动物,所以你用了一个基类。狗会做便便,所以便便是其他动物可能实现的接口上的一种方法。(糟糕的例子)

前几天读了我的OO书,它认为应该避免具体的实例,而优秀的OO程序员总是将程序编写到一个接口或基类。

记住这一点,也许值得拿一本好的OO /模式书的副本,比如磁头优先设计模式

票数 3
EN

Stack Overflow用户

发布于 2010-01-29 11:38:42

接口是一种契约:如果某个类实现了某个接口,那么该类将保证具有某些方法。当你从某个贱人那里继承的时候,你也可以拥有同样的东西,但你不能总是这样做。在这种情况下,接口可以方便地实现某种多重继承。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2161576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档