返回首页

大家好,

我注意到这个代码在一个统一框架的例子。

IUnityContainer container = new UnityContainer();

我从来没有见过一个界面前的参考。这是为什么,而不是具有以下?

{C}
为什么使用这样的接口,我将不胜感激一些见解。这里有什么优势?谢谢你们。

回答

评论会员:游客 时间:2012/02/06
SAKryukov:你看到的是接口的心脏和几乎对OOP的心(这是后期绑定使用虚拟真正的HART)。了解这种事情是非常基本的了解OOP的先决条件之一。一分钟,忘记,IUnityContainer的接口,让我们只讲在某些类型允许继承方面。有什么不寻常的给你吗?在声明左侧IUnityContainer的类型是一个编译时类型;右边的构造类型定义运行时类型的类。你知道为什么我们需要不同的编译时和运行时类?听说过的抽象?隐藏过多的细节吗?即使我们忽视的事实是,这些类型的接口,我们可以考虑作为一个抽象的接口,一组不同的可能的具体类编​​译时类型。当作为工作的变量容器,我们什么都不需要,使不同的具体类的不同,我们要与抽象接口。类型UnityContainer源自类型IUnityContainer;它使"="右边的值分配的变量容器我是说,只有类型以上,不提的类或接口。我们只需要继承的概念。此外,在课堂上,修改具体类的行为是支持虚拟方法(和属性)和后期绑定。现在,添加图片的接口的概念。在我们的情况下,考虑使用作为一个额外的约束,我们的编译时类型的接口。可能非抽象基类可以被实例化,但始终是抽象的接口。基类可以有数据,但接口不能。的想法是,只在具体实施建设的时刻定义,所有使用对象只通过接口引用。接口可以一个更鲜明的特点,涉及到多态性。虚拟方法的机理是只适用于类,它们是引用类型。是的多态性可能与值类型?是的,但这一事实并不非常有名的许多开发人员。事情是:接口可以实现结构(结构)。因此,使用抽象类型的接口的多态性能走这么远,它可以是不可知的,不仅具体实施类型,但即使有关的知识,什么类型的引用类型和值类型是什么。此外,多重继承是可能的接口,但不是类。更确切地说,一个接口可以有无限数量的基接口,以及一类只能有一个基类,但在继承列表的基接口的数量不受限制。这就是所谓的多重继承的弱形式。我会说,你有什么我上面提到的问题,了解什么,你需要从一开始就开始学习OOP的。无论如何,这是非常有用的,如果你做得很好,时间和精力将很快还清mdash;水杨酸
BillWoodruff
评论会员:游客 时间:2012/02/06
codepreIUnityContainercontainer=spanclass="code-keyword"new/spanUnityContainer();/pre/code的我读这段代码:创建一个新实例的UnityContainer对象:该对象实现IUnityContainer。根据定义,你不能创建一个接口的一个实例。因此,在这种情况下,你是不是"初始化一个对象从一个接口。"{C3的}要了解这个调用从第一的不同,我需要知道:什么是之间UnityContainerUnitContainer的差异呢?我推测,UnitContainer不落实IUnityContainer