实现接口只是提供方法的骨架。如果我们知道该方法的确切签名行,在这种情况下
实现接口有什么要求?
这是Interface已经实现的情况
interface IMy
{
void X();
}
public class My:IMy
{
public void X()
{
Console.WriteLine("Interface is implemented");
}
}
这是接口没有实现的情况
public class My
{
public void X()
{
Console.WriteLine("No Interface is implemented ");
}
}
My obj = new My();
obj.X();
两种方法都会产生相同的结果。
实现接口有什么要求?
接口的目的是允许您使用两个不同的类就好像它们是同一类型一样。当涉及到关注点分离时,这是无价的。
例如我可以编写一个从 IDataReader 读取数据的方法。我的方法不需要知道(或关心)它是 SqlDataReader、OdbcDataReader 还是 OracleDataReader。
private void ReadData(IDataReader reader)
{
....
}
现在,假设我需要该方法来处理来自非标准数据文件的数据。我可以编写自己的实现 IDataReader 的对象,该对象知道如何读取该文件,而我的方法又不知道也不关心 IDataReader 是如何实现的,只是向它传递了一个实现 IDataReader 的对象。
希望这可以帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)