学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
发新话题
打印

接口到底是用来干嘛的?

接口到底是用来干嘛的?

比如,我定义了一个接口 A,里面有两个抽象方法.
下面实现它的时候,需要对它进行重写,
我也知道,接口是可以多重继承的,而类不可以.
那如果实现多个接口,需要对多个抽象方法重写,定不定义接口不都一样么?
那请问定义接口的意义到底是什么呢?

TOP

很有用的!

能让程序有很好的扩展性

UML上的开闭原则上会说到它的好处

当然还有其他的很多

TOP

接口好处太多

找本面向对象的书看
再找本设计模式的书看,

你就不会再这样问了
Fight  to win  or  die...

TOP

接口可以说有两种用途。
一是定义标准,你实现此接口就必须要实现接口里的方法。
二就是降低耦合度,那么多模式要解决的其实就是这个问题。
就像硬件里的插槽一样,比如说显卡的插槽,如果没有统一的接口,那你买电脑时,花了几千块买了个好显卡,一看和主板插槽对不上去,你会怎么想?而对于显卡制造商来说,它只要实现这个接口就好了。ati有ati的实现方法,nvedio有nvedio的实现方法。你买显卡还问它是怎么实现的吗?往主板上一插,显示器亮了不就行了???

TOP

楼上的比喻很好啊,赞一个。
Fight  to win  or  die...

TOP

呵呵,由那个比喻还可以引出不少设计模式。
比如你去买电脑了,肯定到电脑商家那去买,电脑商家就是个代理(代理模式)。而代理在进货的时候,会从各个厂家去提货,厂家就是工厂(工厂模式)。买完配件了,商家一般都给你组装,装完了再给你。你就能很方便的使用(外观模式)。现在奸商太多,整个过程你都得注意吧。一有不对就要做出反应。。。(观察者模式)还有,在显卡换代时,曾今出过一种主板,能在新主板上插agp显卡,这个就是(适配器模式)。。。。

[ 本帖最后由 huwangvs 于 2008-4-21 09:16 编辑 ]

TOP

楼上比喻的真漂亮

TOP

定义一个接口,里面有跑和跳的方法,任何一个类实现了该接口,都能跑和跳。  不管你是人还是其他别的。
接口就是定义一组抽象的方法,不相关的类可以实现这个接口,实现了后这些不相关的类就相关了。

TOP

回复 4# 的帖子

呵呵~~~大概明白了.
接口就像一个标准,不同的类实现的方法不一样,但标准是一样的.

接口的实现,也就不用在一个类中写入所以要实现的所有方法.这样,如果其它类引用该类的时候,可以降低类与类的偶合度.

谢谢各位啦~~~

TOP

发新话题