使用类或接口c#声明对象时的区别

时间:2013-12-06 07:36:55

标签: c# class interface

我无法找到令人信服的答案,将对象声明为类或接口之间的确切区别。

以下代码之间有什么区别

ILogger log = new MyLogger(); //ILogger is an interface and MyLogger class implements ILogger

MyLogger log = new MyLogger();

两者都会创建MyLogger类型的对象,然后两者之间有什么不同。

1 个答案:

答案 0 :(得分:1)

不,如果您从对象创建的角度思考,但是如果您声明为

,则会有所不同
ILogger log = new MyLogger();

然后你将能够直接访问那些函数,属性而不添加cast,这些ILogger在接口MyLogger log = new MyLogger(); 中声明,但另一方面声明

MyLogger

当类实现接口ILogger

时,您将能够访问类ILogger以及接口{{1}}的所有函数和属性