Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么.NET框架依赖于接口?_C# - Fatal编程技术网

C# 为什么.NET框架依赖于接口?

C# 为什么.NET框架依赖于接口?,c#,C#,我正在深入学习C#。我对频繁的接口实现感到困惑。我经常读到这个类实现了这个接口。例如,SqlConnection类实现IDbConnection。在这种情况下,开发人员的好处是什么?接口包含一组给定类型必须实现的相关功能的定义(一种方法签名契约)。但是,它不能保证这些实现的特定行为 接口特别有用,因为它们允许程序员在编程语言中包含来自多个源的行为,而这些语言不支持类(如C#)的多重继承 接口基于面向对象的原则,例如参见。您不应该依赖于您正在使用的其他类的实现——只知道它们做什么和应该返回什么就足

我正在深入学习C#。我对频繁的接口实现感到困惑。我经常读到这个类实现了这个接口。例如,SqlConnection类实现IDbConnection。在这种情况下,开发人员的好处是什么?

接口包含一组给定类型必须实现的相关功能的定义(一种方法签名契约)。但是,它不能保证这些实现的特定行为


接口特别有用,因为它们允许程序员在编程语言中包含来自多个源的行为,而这些语言不支持类(如C#)的多重继承

接口基于面向对象的原则,例如参见。您不应该依赖于您正在使用的其他类的实现——只知道它们做什么和应该返回什么就足够了。SqlConnection的一个很好的例子是,只要代码正确使用接口并传播实例,您就可以通过在一个地方更改实现来更改正在使用的数据库(例如,MySQL或Oracle)。

阅读本文,下次尝试谷歌。接口的一个优点是,您可以从多个接口继承一个类,而这些接口只能有一个基类。但我不明白为什么微软会大量实施界面,以及对开发者有什么好处。我的意思是如何从IDbConnection接口中获益。