可能重复: 界面:为什么我不能抓住它们呢?
C#中接口的用途是什么?
如何在c#,Java中启用可扩展的模块化设计?
就我在接口方面的经验而言,我们使用的是从不同对象获取列值的网格视图场景。
(例如:
List<IPub> list = new List<IPub>();
gridview.DataSource = list;
gridview.DataBind();IPub有4个方法,由4个或5个不同的类实现。)除了以上情况外,与同班学生相比,他们有哪些有用的案例呢?
我听到Java创建者对接口不屑一顾,或者说“如果我有机会再次设计java,我永远不会把接口变成语言”。这也适用于C#吗?是什么意思让他这么说?我觉得自己从来没有完全理解过接口。请有人费心解释一下。
编辑:这里是小鹅的报价,请参阅
发布于 2010-01-29 11:36:21
发布于 2010-01-29 11:44:29
接口可以被认为是“可以做的”,而抽象/基类可以被认为是"is-a“。
所以狗是-动物,所以你用了一个基类。狗会做便便,所以便便是其他动物可能实现的接口上的一种方法。(糟糕的例子)
前几天读了我的OO书,它认为应该避免具体的实例,而优秀的OO程序员总是将程序编写到一个接口或基类。
记住这一点,也许值得拿一本好的OO /模式书的副本,比如磁头优先设计模式。
发布于 2010-01-29 11:38:42
接口是一种契约:如果某个类实现了某个接口,那么该类将保证具有某些方法。当你从某个贱人那里继承的时候,你也可以拥有同样的东西,但你不能总是这样做。在这种情况下,接口可以方便地实现某种多重继承。
https://stackoverflow.com/questions/2161576
复制相似问题