接口可是OO里最核心的东西。
可以用生活中的例子说明:
一个生产主板的工厂里面,产品就是接口。----老板说了,我要做一块板子,要具有XXX功能。
(K,他才不管你工人如何完成。"给我干,我只要产品".工人就是就是类,每个具体的工人是干活的对象。
例如,板子的要求中有一项:不能摔坏。呵呵,有人来应聘了。说,“我力气大,小时候就经常开始摔盘子”。---呵呵,这个哥们就是干活的。老板说,OK于是这个老兄在这个工厂摔了20年的板子。突然,有一天有新类型的板子来了。K,美国军用---去打伊拉克。
要求力气特大。于是,去招聘成龙。可是,工资太少了。
成龙不干。为了降低成本,去日本买了一个机器人。我们看到,当板子要出厂的时候,QA说,给我摔它个狗日的。(呵呵,偷偷骂老板不给加工资)摔了20年的老哥,动作熟练。 但是,力气很小。
机器人,动作很笨,但是力气大的惊人。
接口是什么??就是“给我摔板子”,不管你如何摔。
这样理解是不对的,你如果继承了一个接口,你就要实现他的所有特性,但是你也可以添加自己的其他方法。 继承了一个接口,只是对外宣布,我实现了接口的功能,同时,你也可以同时继承
其他的接口,也就是说我对外宣布,我又实现了一个功能,那么我也可以在其中实现自己的
类的、特有的功能。
举个例子,我开了个石化公司,可是同时我想有医院的功能,还有学校的功能
那么,你可以再建立自己的石化公司这个类的同时继承Ihospital和Ischool两个接口,不过
你也要做出石化公司它有的方法和属性呀!
你要设计一个接口,你就应该知道你为什么设计它,
另外,他在远程调用中也是很有用的,建议你在看看remoting再建议在类视图中建立一个继承接口的类,然后再类视图中再用"添加"方法"重写"一个类成员
interface CommonClass
{
bool UpdateUserName(string userNo);
}
将这个接口编译成一个独立的DLL文件,然后在客户端和服务器端都进行引用,就OK了。
当然这只是接口功能的一种具体表现,这个例子深研一下,可以悟出接口的有用之处。不知道你是否用过COM或CORBA之类的分布式解决方案,在这些方案之中,就必须用专门的IDL语言写一个类似于接口类的文件,这个IDL文件与接口有类似之处。
总结一下吧 接口是一种契约;但如何达到这个契约需要在类中指明。
符合这个契约的类有它所有的成员(不是只有)不关于接口的详细详细情况还得查资料 但是我看见一段代码 不知道它的含义具体如下:ICollection CreateSource (){
·······
Return ds.table[0].DeFaultView;
}我自己理解是:这是一个函数 返回类型是ICollection
而ICollection 里到底包含些什么呢?