接口:声明具有继承接口的类
本文关键字:接口 继承 声明 | 更新日期: 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接口。