大家来谈谈Interface的应用场景吧! 可能大家基本上都知道Interface是接口的意思,也知道怎么定义一个接口,但是为什么要用到接口呢?都用在什么样的应用场景下呢?欢迎大家讨论一下。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 背景:你想开发一类,但有些方法只要要求函数签名:1)参数类型;2)返回类型;3)函数名称,而具体实现可能有多种版本,比如:取的数据库连接对象DbConnection,人家可能是SqlConnection或OldDbConnection。解决:1)使用基类:定义为abstract或virtual方法,但基类只能是一个,太宝贵2)使用接口:要求人家在使用你的类时必须实现该接口。 当程序可同时使用两套数据库定义一个接口内有方法public interface 数据库{ get(){}}public class mssql:Iperson{ get() {}}public class oracle:Iperson{ get() {}}main(){ 数据库 对象=new mssql(); 数据库 对象2=new oracle();} 接口解决了不同层之间的联系,使得不同层开发人员只需要了解接口协议便可以开发自己所在的层,比如public interface 数据库{ DataTable GetArticleAll();}开发业务逻辑的兄弟只需要了解到这个方法返回一个文章列表 他只需要去New 一个通过该接口实现的实例然后可以使用该方法完成所需,至于这个方法如何实现他不必关心DAL层的兄弟也只需要关心如何实现该接口返回一个文章信息的数据源``这样接口就成了一种相互合作的协议···更重要的是在一些比较大的接口能让程序有很好的扩展性,比如我产生如上数据源的既可以用ACCESS又可以用MSSQL只需要按需求返回数据源就行了 而且接口是允许多继承的!而基类只有一个! 注册时下一步的实现方法 acess数据库,这句为什么还让指定classID 的值 简单问题 GridView中的RowDeleting删除代码出现错误。 调用类的方式问题 为什么vs2005web窗体中TreeView的节点不以打开? 关于GridView 后代绑定 前台调用后台的函数 函数带参数的 大虾帮忙了 ASP.NET+C#下的一个BUG,不知道大家怎么解决,如果碰到了,真是倒霉,希望高人指点如何做?100送 求救……和日志有关 用Grid View与Form View组合,向数据库插入新记录出错 求个密码安全度条
你想开发一类,但有些方法只要要求函数签名:1)参数类型;2)返回类型;3)函数名称,而具体实现可能有多种版本,比如:取的数据库连接对象DbConnection,人家可能是SqlConnection或OldDbConnection。
解决:
1)使用基类:定义为abstract或virtual方法,但基类只能是一个,太宝贵
2)使用接口:要求人家在使用你的类时必须实现该接口。
{
get(){}
}
public class mssql:Iperson
{
get()
{}
}public class oracle:Iperson
{
get()
{}
}main()
{
数据库 对象=new mssql();
数据库 对象2=new oracle();
}
{
DataTable GetArticleAll();
}开发业务逻辑的兄弟只需要了解到这个方法返回一个文章列表 他只需要去New 一个通过该接口实现的实例然后可以使用该方法完成所需,至于这个方法如何实现他不必关心
DAL层的兄弟也只需要关心如何实现该接口返回一个文章信息的数据源``这样接口就成了一种相互合作的协议···
更重要的是在一些比较大的接口能让程序有很好的扩展性,比如我产生如上数据源的既可以用ACCESS又可以用MSSQL只需要按需求返回数据源就行了 而且接口是允许多继承的!而基类只有一个!