您的位置:首页 > 其它

【初学者必读】让你明白什么是接口

2007-07-16 17:01 232 查看
接口在类型无关的应用上起了很大的作用,因为它定义的是一个对象必须拥有的属性与方法,而不管那个对象是啥类(当然那个类要实现这个接口)

举个例子,有这么一个类的方法,它的参数是一个Connection对象,返回了一个DataReader对象。。当我们直接用类,就必须考虑类型问题了。。.net Framework1.1默认提供了SqlClient|Odbc|OleDb三种,如果数据库是SqlServer的,我们的方法可能是这样的(仅是举例。。不要讨论其中实现的合理性。。):

public SqlDataReader ExecuteReader(SqlConnection connection)
{
SqlCommand command = new SqlCommand("select * from tab", connection);
return command.ExecuteReader();
}

可是有一天,领导说SqlClient不好玩,要换成OleDb的。。那你事情就来了。。你得满地找SqlClient相关的应用。。把它改成OleDb的。。结果这个方法就成了

public OleDbDataReader ExecuteReader(OleDbConnection connection)
{
OleDbCommand command = new OleDbCommand("select * from tab", connection);
return command.ExecuteReader();
}

如果我们在刚开始设计的时候应用了接口,那会写成

public IDataReader ExecuteReader(IDbConnection connection)
{
IDbCommand command = connecton.CreateCommand();
command.CommandText = "select * from tab";
return command.ExecuteReader();
}

这个方法没有任何一个地方描述了它是使用哪种类型的连接。。而是抽像成一堆接口。。。当你换成OleDb的时候。。一行代码都不需要修改。。节省了大量的成本。

接口的应用还有许多。。研究研究就懂了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: