有时, 我们看到一个功能模块 实现了两个接口。
如图:
Class1 继承了 interface2 接口 , interface2 接口又继承了 interface1
而 interface2 没有 任何方法,属性 …,只是仅仅继承而已。
优点:为以后接口扩展提供便利。
如 :
你在引用这个Dll后, 可以这样实现:
Interface1 cl = new Class1();
突然有一天发现 interface1 少了一个函数Update() (开个玩笑^_^) 如果在interface1 上 添加 一个方法update(),这样会直接影响 以前 调用这个DLL的所有程序。 为了防止这样的风险出险, 我们选择 interface2 上添加方法Update().
这样 在DLL外面可以这样写:Interface2 cl = new Class1();
同时 cl.Update()可以使用, cl.Add() 也可使用。
如图:
以前 使用interface1接口程序无须变动,从而避免了代码重写的风险。