对象引用与接口引用

时间:2012-03-06 07:05:42

标签: c#

使用对象引用和接口引用访问对象的方法之间的区别,即使两者都引用(指向)同一对象。

我不知道什么是对象  referene和接口参考请解释一下?

4 个答案:

答案 0 :(得分:3)

如果使用接口引用对象,则只能访问界面中定义的对象方法或属性。如果需要访问任何其他方法,则必须确定实现的特定类型,并在调用这些方法或属性之前将其强制转换为该类型。

通常使用接口类型而不是实际类型来减少对象之间的耦合。例如,您正在记录某个对象的某个对象可能需要一个ILogger实例,但它不应该真正关心ILogger的实现是记录到文件,Web服务还是做其他事情。它应该只关心获得一个满足接口定义的合同的对象。

答案 1 :(得分:1)

如果我理解你的问题是正确的,你要问的是一个类的对象和一个接口的对象

之间的区别

类的对象包含类的完整实现。您将能够通过类对象调用所有公共方法并使用该类的公共字段。

另一方面,接口对象仅公开由接口定义的那些方法和字段。

答案 2 :(得分:0)

一种情况是,当您知道对象的类型时(因此您的对象是的实例),这样您就可以访问其所有方法。让我再次强调:你知道对象的类

第二种情况是,当您只知道对象实现了一个接口时,您不知道您的对象是哪个类。这样,您只能访问该类从该特定接口继承的方法,而无需访问其他方法。

答案 3 :(得分:0)

实际上非常简单。当您访问对象方法时,使用接口引用只能访问属于该对象类的接口定义的方法。

当您使用类引用访问它们时,您可以访问属于该类的所有内容。

实际上使用接口你不关心那个对象的实际类是什么,你只想关注那个类中实现的接口方法,所以你只能访问那些..