接口:声明具有继承接口的类

本文关键字:接口 继承 声明 | 更新日期: 2023-09-27 18:28:15

我不知道这是什么调用,也不知道如何在谷歌上搜索解释,但这里是

假设我有一个接口调用IView和一个继承了IView调用View类的类。在一些项目中,我看到以下代码:

IView view = new View();

为什么要这样做?为什么不只做

var view = new View();

声明一个接口然后创建一个View对象有什么目的吗?为什么不做第二步呢?

接口:声明具有继承接口的类

如果使用var关键字,将自动检测变量的类型,并且可能是View而不是IView类型。对于代码的读者来说,更清楚的是,您实际上想要有一个IView引用。

接口的思想是,实现它们的类并不重要,所以您的代码是基于以下知识构建的。。事情实现IView的所有属性和方法,而不考虑它是哪个类

这样的设置将允许您稍后轻松插入不同的类。您可以用此行来代替对IView工厂的调用,您根本不知道它返回的是哪个类实例。

您可能需要视图不是view,例如,如果view是SpecialView的一个类,那么var view将不允许您稍后将GenericView分配给它,即使它们都有IView接口。