日期:2014-05-17  浏览次数:20879 次

接口的真正作用是什么?
看了很多有关接口的实例,感觉接口只是提供了一个规范,不用接口也可以同样实现类的方法。
我总觉得接口没这么简单吧,想请教下大鸟们,接口真正的不可替代的作用是什么呢。

public interface 接口()
{
    public void 方法();
}

public class 类:c
{
    public void 方法();
}

我直接
public class 类
{
    public void 方法();
}
一样啊,接口反而多此一举不是吗。

------解决方案--------------------
http://wenku.baidu.com/view/f5b83fdcad51f01dc281f1e1.html
------解决方案--------------------
是的,但是当你真正“面向对象”编程时,你就体会到“面向接口”编程的重要性了。
很多时候,我们要我们的系统能够足够健壮,能够修改少量的代码,甚至于简单的装配就能够出一个系统,而不是每次都从头开始做一个完整的。
------解决方案--------------------
接口是实现多态的一种方法,多态对面向对象的的意义不用说吧。
而且用接口也让编程更灵活。

------解决方案--------------------
接口最大的好处就是解耦
当你在设计一些松散耦合的模块的时候用
接口就可以帮助你不去强制使用某一个特定的类
大大提高以后程序的扩展性
请问 如果现在让你设计一个可插拔是的软件系统
好比很多软件里面的插件系统 
在新增加了模块以后只需要把新的模块放入插件目录即可
很难想象不用接口 如何去实现 呵呵
------解决方案--------------------
多看书,多学习
------解决方案--------------------
接口可以多继承,这是C#的语法特性。

如果不用接口,C#里你如何实现多继承呢?
------解决方案--------------------
请看《Head First设计模式》
我当年就是看了它 悟出来的~


------解决方案--------------------
http://www.cnblogs.com/leoo2sk/archive/2009/06/17/di-and-ioc.html

仔细看完。。。我当年就是看完这个之后彻底领悟了
------解决方案--------------------
有本英文书忘了叫什么,介绍继承类和接口时时大致是这样描述的:inherit a class is "it likes something",inherit a interface is "doing likes something";英文大致是这样,也有点忘了,我个人觉得说的非常到位
------解决方案--------------------
引用:
请看《Head First设计模式》
我当年就是看了它 悟出来的~

这本书绝对是面向对象入门宝典!
------解决方案--------------------