日期:2014-05-19  浏览次数:21010 次

关于实现接口的小白问题(分全送了,希望有好的解答)
经常看到如果实现了xx接口,就会成为某种特定的类型,而拥有某些功能。比如icomponent接口是所有组件类的接口,提供所有组件需要的功能,但我用
Implements   System.ComponentModel.IComponent   实现这个接口,就2个dispose方法和一个属性
Public   Property   Site()   As   System.ComponentModel.ISite   Implements   System.ComponentModel.IComponent.Site
                Get

                End   Get
                Set(ByVal   value   As   System.ComponentModel.ISite)

                End   Set
        End   Property

这就是能实现所有组件所需功能的一个属性?有点迷糊,关于实现接口而拥有某种功能在脑子里不能形成轮廓,谁能帮忙指点一二

------解决方案--------------------
接口只是定义了一个规范,适用于没有什么关联的类实现名称相同的功能(只是名称相同,干得事可以大不相同)

电视,钓鱼竿,马桶 都有开关,我们一听开关就知道,开关一定包括两个相反的功能,一个是开,一个是关。但开和关究竟干的是什么,显然它们三个不一样...

那这个什么都干不了的东西我们还要它干什么?

刚才说过了,接口是一个规范,它定义了我们做事的框架。

比如,为什么大多数的显卡能查在大多数的主板上,并能正常工作?

难道所有的显卡厂商要把自己的产品在所有的主板厂商上测试一遍?

同样难道所有的主板厂商要把自己的产品在所有的显卡厂商上测试一遍?

不用这样,只要,显卡厂商和主板厂商答成一个协议,对双方的数据交换定义一个统一的格式即可,但真正去实现这个协议的,是各家厂商(这应该就是显卡能有公版驱动的一个原因)。

太多了... 不说了...