当前位置:编程学习 > C#/ASP.NET >>

C# 接口到底何时用最合适

学了C#很长时间,接口的定义虽然背的很熟,但从来没用过。看过一些文章教如何使用接口、实现接口,但我还是不知道到底什么时候能用到interface。如果你能举一反三更好。比方说在什么情况下只能用接口实现最合适?
追问:你发的什么呀,重写我懂的。我问的是接口
答案:
在以下情况下,请使用接口:

1.当存在一组可能被调用的相关方法时。
2.当类只需要方法的单个实现时。
3.当使用接口的类想要将该接口强制转换为其他接口或类类型时。
4.当正在实现的方法链接到类的类型或标识时:例如比较方法。

使用单一方法接口而不使用委托的一个很好的示例是 IComparable 或泛型版本 IComparable<(Of <(T>)>)。IComparable 声明 CompareTo 方法,该方法返回一个整数,指定相同类型的两个对象之间的小于、等于或大于关系。IComparable 可用作排序算法的基础。虽然将委托比较方法用作排序算法的基础是有效的,但是并不理想。因为进行比较的能力属于类,而比较算法不会在运行时改变,所以单一方法接口是理想的。
当你在做分层开发的时候就常用到,底层公布接口给上层调用 
接口是一种约定,就好比大家都只按照规定的约定做事情,但是至于在这个规定下,具体怎么做,可以有不同的方式,这就是先定义接口再实现的方式,不用等实现完成之后才能公开,接口定义好了之后,一旦发布,最好不要修改,否则会造成集成的类都要修改。
举个例子,比如你有一个项目,要支持一个硬件设备。在结构设计时,对于这部分的实施很有可能来独立实现(有可能
是你们开发组做,也有可能外包出去)。这时就可以制定一个接口。client和server方都按照这一定义进行各自的开发。这就可以
保证将来两方面可以配合。就像生产螺钉螺母一样。

有时接口还可以起到一定的版权保护功能。比如你做了一个remoting服务。你要发布一个stub给你得客户端。如果客户
端由第三方来写。你可能不想不实施部分发布出去。这时你就可以把一个借口定义发布出去。

一般来说,要改变服务都是对现有接口进行增补而不是直接修改。为的是便于管理。商业上一般都这么操作,你当然可以靠版本
来控制,不过大家都不这么做。如果你改了现有接口,遇到较真的,争执起来,你很难争取到主动。
asp.login_aspx.gettypehashcode()没有找到合适的方法重写 
asp.login_aspx.processrequest(system.web.httpcontext)没有找到适合的方法重写
很简单
我不告诉你具体哪错了 但是告诉你为什么错了 你自己改 更加深印象
首先 你要理解 重写的概念
举个例子
cn.Open(); 你看 这句为什么没说 没有找到合适的方法重写
当你打 cn.Open( 打到这的时候 VS会给你智能提示 告诉你 里面具体应该写什么
是 int 是 string 还是 什么都不写
你要学会这个方法

asp.login_aspx.gettypehashcode()没有找到合适的方法重写
拿这个来说
当你写asp.login_aspx.gettypehashcode( 到这的时候 VS一定会智能提示
告诉你里面可以写什么 但是 一定没说 可以空 你空了 所以说没有找到合适的方法重写
建议你先看重写的 概念 ~加油~
自己把握

上一个:C# Excel表格读取,数据表为空
下一个:C# winform中richtext的背景设置

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,