实现接口只提供方法的框架.如果我们知道该方法的确切签名行,在这种情况下
,实现接口的要求是什么?
这是实现接口的情况
interface IMy
{
void X();
}
public class My:IMy
{
public void X()
{
Console.WriteLine("Interface is implemented");
}
}
Run Code Online (Sandbox Code Playgroud)
这是Interface尚未实现的情况
public class My
{
public void X()
{
Console.WriteLine("No Interface is implemented ");
}
}
Run Code Online (Sandbox Code Playgroud)
My obj = new My();
obj.X();
Run Code Online (Sandbox Code Playgroud)
这两种方法都会产生相同的结果.
实现接口的要求是什么?
接口的目的是允许您使用两个不同的类,就好像它们是相同的类型一样.当涉及到关注点分离时,这是非常宝贵的.
例如,我可以编写一个从IDataReader读取数据的方法.我的方法不需要知道(或关心)是否是SqlDataReader,OdbcDataReader或OracleDataReader.
private void ReadData(IDataReader reader)
{
....
}
Run Code Online (Sandbox Code Playgroud)
现在,假设我需要该方法来处理来自非标准数据文件的数据.我可以编写自己的对象来实现IDataReader,它知道如何读取该文件,我的方法再次,既不知道也不关心IDataReader是如何实现的,只是传递了一个实现IDataReader的对象.
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
455 次 |
| 最近记录: |